handsontable 12.1.2 → 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 +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- 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 +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- 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 +103 -5
- 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 +6 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- 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 +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- 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 +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- 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 +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- 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 +89 -124
- package/editorManager.mjs +89 -104
- 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 +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- 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 +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- 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 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- 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 +67 -259
- package/helpers/dom/element.mjs +74 -194
- 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 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- 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 -26
- package/helpers/unicode.mjs +17 -15
- 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 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- 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 +21 -92
- package/plugins/base/base.mjs +21 -63
- 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 +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- 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 +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- 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 +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- 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 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- 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 +61 -177
- package/plugins/contextMenu/menu.mjs +61 -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 +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -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 +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -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 +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- 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.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- 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 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- 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 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- 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 +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- 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 +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- 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 -98
- package/plugins/search/search.mjs +16 -68
- 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 +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- 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 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- 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 +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- 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 +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- 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 +70 -158
- package/translations/indexMapper.mjs +70 -125
- 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
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -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,111 +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
|
-
|
361
|
+
var positionChanged = false;
|
430
362
|
if (this.isMaster) {
|
431
|
-
|
432
|
-
|
363
|
+
positionChanged = wtOverlays.topOverlay.resetFixedPosition();
|
433
364
|
if (wtOverlays.bottomOverlay.clone) {
|
434
365
|
positionChanged = wtOverlays.bottomOverlay.resetFixedPosition() || positionChanged;
|
435
366
|
}
|
436
|
-
|
437
367
|
positionChanged = wtOverlays.inlineStartOverlay.resetFixedPosition() || positionChanged;
|
438
|
-
|
439
368
|
if (wtOverlays.topInlineStartCornerOverlay) {
|
440
369
|
wtOverlays.topInlineStartCornerOverlay.resetFixedPosition();
|
441
370
|
}
|
442
|
-
|
443
371
|
if (wtOverlays.bottomInlineStartCornerOverlay && wtOverlays.bottomInlineStartCornerOverlay.clone) {
|
444
372
|
wtOverlays.bottomInlineStartCornerOverlay.resetFixedPosition();
|
445
373
|
}
|
446
|
-
|
447
|
-
if (positionChanged) {
|
448
|
-
// It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
|
449
|
-
// remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
|
450
|
-
// when there is a switch between rendering from 0 to N rows/columns and vice versa).
|
451
|
-
wtOverlays.refreshAll();
|
452
|
-
wtOverlays.adjustElementsSize();
|
453
|
-
}
|
454
374
|
}
|
455
|
-
|
456
|
-
|
457
|
-
|
375
|
+
if (positionChanged) {
|
376
|
+
// It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
|
377
|
+
// remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
|
378
|
+
// when there is a switch between rendering from 0 to N rows/columns and vice versa).
|
379
|
+
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
380
|
+
wtOverlays.adjustElementsSize();
|
381
|
+
} else {
|
382
|
+
this.refreshSelections(runFastDraw);
|
383
|
+
}
|
458
384
|
if (syncScroll) {
|
459
385
|
wtOverlays.syncScrollWithMaster();
|
460
386
|
}
|
461
|
-
|
462
387
|
this.dataAccessObject.drawn = true;
|
463
388
|
return this;
|
464
389
|
}
|
390
|
+
|
465
391
|
/**
|
466
392
|
* @param {number} col The visual column index.
|
467
393
|
*/
|
468
|
-
|
469
394
|
}, {
|
470
395
|
key: "markIfOversizedColumnHeader",
|
471
396
|
value: function markIfOversizedColumnHeader(col) {
|
@@ -476,23 +401,18 @@ var Table = /*#__PURE__*/function () {
|
|
476
401
|
var currentHeader;
|
477
402
|
var currentHeaderHeight;
|
478
403
|
var columnHeaderHeightSetting = this.wtSettings.getSetting('columnHeaderHeight') || [];
|
479
|
-
|
480
404
|
while (level) {
|
481
405
|
level -= 1;
|
482
406
|
previousColHeaderHeight = this.getColumnHeaderHeight(level);
|
483
407
|
currentHeader = this.getColumnHeader(sourceColIndex, level);
|
484
|
-
|
485
408
|
if (!currentHeader) {
|
486
409
|
/* eslint-disable no-continue */
|
487
410
|
continue;
|
488
411
|
}
|
489
|
-
|
490
412
|
currentHeaderHeight = innerHeight(currentHeader);
|
491
|
-
|
492
413
|
if (!previousColHeaderHeight && defaultRowHeight < currentHeaderHeight || previousColHeaderHeight < currentHeaderHeight) {
|
493
414
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = currentHeaderHeight;
|
494
415
|
}
|
495
|
-
|
496
416
|
if (Array.isArray(columnHeaderHeightSetting)) {
|
497
417
|
if (columnHeaderHeightSetting[level] !== null && columnHeaderHeightSetting[level] !== void 0) {
|
498
418
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level];
|
@@ -500,16 +420,15 @@ var Table = /*#__PURE__*/function () {
|
|
500
420
|
} else if (!isNaN(columnHeaderHeightSetting)) {
|
501
421
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting;
|
502
422
|
}
|
503
|
-
|
504
423
|
if (this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] < (columnHeaderHeightSetting[level] || columnHeaderHeightSetting)) {
|
505
424
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level] || columnHeaderHeightSetting; // eslint-disable-line max-len
|
506
425
|
}
|
507
426
|
}
|
508
427
|
}
|
428
|
+
|
509
429
|
/**
|
510
430
|
*
|
511
431
|
*/
|
512
|
-
|
513
432
|
}, {
|
514
433
|
key: "adjustColumnHeaderHeights",
|
515
434
|
value: function adjustColumnHeaderHeights() {
|
@@ -517,126 +436,109 @@ var Table = /*#__PURE__*/function () {
|
|
517
436
|
var children = this.THEAD.childNodes;
|
518
437
|
var oversizedColumnHeaders = this.dataAccessObject.wtViewport.oversizedColumnHeaders;
|
519
438
|
var columnHeaders = wtSettings.getSetting('columnHeaders');
|
520
|
-
|
521
439
|
for (var i = 0, len = columnHeaders.length; i < len; i++) {
|
522
440
|
if (oversizedColumnHeaders[i]) {
|
523
441
|
if (!children[i] || children[i].childNodes.length === 0) {
|
524
442
|
return;
|
525
443
|
}
|
526
|
-
|
527
444
|
children[i].childNodes[0].style.height = "".concat(oversizedColumnHeaders[i], "px");
|
528
445
|
}
|
529
446
|
}
|
530
447
|
}
|
448
|
+
|
531
449
|
/**
|
532
450
|
* Resets cache of row heights. The cache should be cached for each render cycle in a case
|
533
451
|
* when new cell values have content which increases/decreases cell height.
|
534
452
|
*/
|
535
|
-
|
536
453
|
}, {
|
537
454
|
key: "resetOversizedRows",
|
538
455
|
value: function resetOversizedRows() {
|
539
456
|
var wtSettings = this.wtSettings;
|
540
457
|
var wtViewport = this.dataAccessObject.wtViewport;
|
541
|
-
|
542
458
|
if (!this.isMaster && !this.is(CLONE_BOTTOM)) {
|
543
459
|
return;
|
544
460
|
}
|
545
|
-
|
546
461
|
if (!wtSettings.getSetting('externalRowCalculator')) {
|
547
|
-
var rowsToRender = this.getRenderedRowsCount();
|
462
|
+
var rowsToRender = this.getRenderedRowsCount();
|
548
463
|
|
464
|
+
// Reset the oversized row cache for rendered rows
|
549
465
|
for (var visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
550
466
|
var sourceRow = this.rowFilter.renderedToSource(visibleRowIndex);
|
551
|
-
|
552
467
|
if (wtViewport.oversizedRows && wtViewport.oversizedRows[sourceRow]) {
|
553
468
|
wtViewport.oversizedRows[sourceRow] = void 0;
|
554
469
|
}
|
555
470
|
}
|
556
471
|
}
|
557
472
|
}
|
473
|
+
|
558
474
|
/**
|
559
475
|
* @param {string} className The CSS class name to remove from the table cells.
|
560
476
|
*/
|
561
|
-
|
562
477
|
}, {
|
563
478
|
key: "removeClassFromCells",
|
564
479
|
value: function removeClassFromCells(className) {
|
565
480
|
var nodes = this.TABLE.querySelectorAll(".".concat(className));
|
566
|
-
|
567
481
|
for (var i = 0, len = nodes.length; i < len; i++) {
|
568
482
|
removeClass(nodes[i], className);
|
569
483
|
}
|
570
484
|
}
|
485
|
+
|
571
486
|
/**
|
572
487
|
* Refresh the table selection by re-rendering Selection instances connected with that instance.
|
573
488
|
*
|
574
489
|
* @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
|
575
490
|
*/
|
576
|
-
|
577
491
|
}, {
|
578
492
|
key: "refreshSelections",
|
579
493
|
value: function refreshSelections(fastDraw) {
|
580
494
|
var wtSettings = this.wtSettings;
|
581
495
|
var selections = this.dataAccessObject.selections;
|
582
|
-
|
583
496
|
if (!selections) {
|
584
497
|
return;
|
585
498
|
}
|
586
|
-
|
587
499
|
var highlights = Array.from(selections);
|
588
500
|
var len = highlights.length;
|
589
|
-
|
590
501
|
if (fastDraw) {
|
591
502
|
var classesToRemove = [];
|
592
|
-
|
593
503
|
for (var i = 0; i < len; i++) {
|
594
504
|
var _highlights$i$setting = highlights[i].settings,
|
595
|
-
|
596
|
-
|
597
|
-
|
505
|
+
highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
|
506
|
+
highlightRowClassName = _highlights$i$setting.highlightRowClassName,
|
507
|
+
highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
|
598
508
|
var classNames = highlights[i].classNames;
|
599
509
|
var classNamesLength = classNames.length;
|
600
|
-
|
601
510
|
for (var j = 0; j < classNamesLength; j++) {
|
602
511
|
if (!classesToRemove.includes(classNames[j])) {
|
603
512
|
classesToRemove.push(classNames[j]);
|
604
513
|
}
|
605
514
|
}
|
606
|
-
|
607
515
|
if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
|
608
516
|
classesToRemove.push(highlightHeaderClassName);
|
609
517
|
}
|
610
|
-
|
611
518
|
if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
|
612
519
|
classesToRemove.push(highlightRowClassName);
|
613
520
|
}
|
614
|
-
|
615
521
|
if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
|
616
522
|
classesToRemove.push(highlightColumnClassName);
|
617
523
|
}
|
618
524
|
}
|
619
|
-
|
620
525
|
var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
621
|
-
|
622
526
|
if (Array.isArray(additionalClassesToRemove)) {
|
623
527
|
for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
|
624
528
|
classesToRemove.push(additionalClassesToRemove[_i]);
|
625
529
|
}
|
626
530
|
}
|
627
|
-
|
628
531
|
var classesToRemoveLength = classesToRemove.length;
|
629
|
-
|
630
532
|
for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
|
631
533
|
// there was no rerender, so we need to remove classNames by ourselves
|
632
534
|
this.removeClassFromCells(classesToRemove[_i2]);
|
633
535
|
}
|
634
536
|
}
|
635
|
-
|
636
537
|
for (var _i3 = 0; _i3 < len; _i3++) {
|
637
538
|
highlights[_i3].draw(this.facadeGetter(), fastDraw);
|
638
539
|
}
|
639
540
|
}
|
541
|
+
|
640
542
|
/**
|
641
543
|
* Get cell element at coords.
|
642
544
|
* Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
|
@@ -656,21 +558,17 @@ var Table = /*#__PURE__*/function () {
|
|
656
558
|
* -3 column before viewport
|
657
559
|
* -4 column after viewport.
|
658
560
|
*/
|
659
|
-
|
660
561
|
}, {
|
661
562
|
key: "getCell",
|
662
563
|
value: function getCell(coords) {
|
663
564
|
var row = coords.row;
|
664
565
|
var column = coords.col;
|
665
566
|
var hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
|
666
|
-
|
667
567
|
if (hookResult && Array.isArray(hookResult)) {
|
668
568
|
var _hookResult = _slicedToArray(hookResult, 2);
|
669
|
-
|
670
569
|
row = _hookResult[0];
|
671
570
|
column = _hookResult[1];
|
672
571
|
}
|
673
|
-
|
674
572
|
if (this.isRowBeforeRenderedRows(row)) {
|
675
573
|
// row before rendered rows
|
676
574
|
return -1;
|
@@ -684,27 +582,22 @@ var Table = /*#__PURE__*/function () {
|
|
684
582
|
// column after rendered columns
|
685
583
|
return -4;
|
686
584
|
}
|
687
|
-
|
688
585
|
var TR;
|
689
|
-
|
690
586
|
if (row < 0) {
|
691
587
|
TR = this.THEAD.childNodes[this.rowFilter.sourceRowToVisibleColHeadedRow(row)];
|
692
588
|
} else {
|
693
589
|
TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
694
590
|
}
|
695
|
-
|
696
591
|
if (!TR && row >= 0) {
|
697
592
|
throw new Error('TR was expected to be rendered but is not');
|
698
593
|
}
|
699
|
-
|
700
594
|
var TD = TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column)];
|
701
|
-
|
702
595
|
if (!TD && column >= 0) {
|
703
596
|
throw new Error('TD or TH was expected to be rendered but is not');
|
704
597
|
}
|
705
|
-
|
706
598
|
return TD;
|
707
599
|
}
|
600
|
+
|
708
601
|
/**
|
709
602
|
* GetColumnHeader.
|
710
603
|
*
|
@@ -712,7 +605,6 @@ var Table = /*#__PURE__*/function () {
|
|
712
605
|
* @param {number} [level=0] Header level (0 = most distant to the table).
|
713
606
|
* @returns {object} HTMLElement on success or undefined on error.
|
714
607
|
*/
|
715
|
-
|
716
608
|
}, {
|
717
609
|
key: "getColumnHeader",
|
718
610
|
value: function getColumnHeader(col) {
|
@@ -720,13 +612,13 @@ var Table = /*#__PURE__*/function () {
|
|
720
612
|
var TR = this.THEAD.childNodes[level];
|
721
613
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(col)];
|
722
614
|
}
|
615
|
+
|
723
616
|
/**
|
724
617
|
* Gets all columns headers (TH elements) from the table.
|
725
618
|
*
|
726
619
|
* @param {number} column A source column index.
|
727
620
|
* @returns {HTMLTableCellElement[]}
|
728
621
|
*/
|
729
|
-
|
730
622
|
}, {
|
731
623
|
key: "getColumnHeaders",
|
732
624
|
value: function getColumnHeaders(column) {
|
@@ -734,13 +626,13 @@ var Table = /*#__PURE__*/function () {
|
|
734
626
|
var visibleColumn = this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column);
|
735
627
|
this.THEAD.childNodes.forEach(function (TR) {
|
736
628
|
var TH = TR.childNodes[visibleColumn];
|
737
|
-
|
738
629
|
if (TH) {
|
739
630
|
THs.push(TH);
|
740
631
|
}
|
741
632
|
});
|
742
633
|
return THs;
|
743
634
|
}
|
635
|
+
|
744
636
|
/**
|
745
637
|
* GetRowHeader.
|
746
638
|
*
|
@@ -748,78 +640,65 @@ var Table = /*#__PURE__*/function () {
|
|
748
640
|
* @param {number} [level=0] Header level (0 = most distant to the table).
|
749
641
|
* @returns {HTMLElement} HTMLElement on success or Number one of the exit codes on error: `null table doesn't have row headers`.
|
750
642
|
*/
|
751
|
-
|
752
643
|
}, {
|
753
644
|
key: "getRowHeader",
|
754
645
|
value: function getRowHeader(row) {
|
755
646
|
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
756
|
-
|
757
647
|
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
758
648
|
return;
|
759
649
|
}
|
760
|
-
|
761
650
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
762
|
-
|
763
651
|
if (level >= rowHeadersCount) {
|
764
652
|
return;
|
765
653
|
}
|
766
|
-
|
767
654
|
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
768
655
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
|
769
656
|
}
|
657
|
+
|
770
658
|
/**
|
771
659
|
* Gets all rows headers (TH elements) from the table.
|
772
660
|
*
|
773
661
|
* @param {number} row A source row index.
|
774
662
|
* @returns {HTMLTableCellElement[]}
|
775
663
|
*/
|
776
|
-
|
777
664
|
}, {
|
778
665
|
key: "getRowHeaders",
|
779
666
|
value: function getRowHeaders(row) {
|
780
667
|
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
781
668
|
return [];
|
782
669
|
}
|
783
|
-
|
784
670
|
var THs = [];
|
785
671
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
786
|
-
|
787
672
|
for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
|
788
673
|
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
789
674
|
var TH = TR === null || TR === void 0 ? void 0 : TR.childNodes[renderedRowIndex];
|
790
|
-
|
791
675
|
if (TH) {
|
792
676
|
THs.push(TH);
|
793
677
|
}
|
794
678
|
}
|
795
|
-
|
796
679
|
return THs;
|
797
680
|
}
|
681
|
+
|
798
682
|
/**
|
799
683
|
* Returns cell coords object for a given TD (or a child element of a TD element).
|
800
684
|
*
|
801
685
|
* @param {HTMLTableCellElement} TD A cell DOM element (or a child of one).
|
802
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.
|
803
687
|
*/
|
804
|
-
|
805
688
|
}, {
|
806
689
|
key: "getCoords",
|
807
690
|
value: function getCoords(TD) {
|
808
691
|
var cellElement = TD;
|
809
|
-
|
810
692
|
if (cellElement.nodeName !== 'TD' && cellElement.nodeName !== 'TH') {
|
811
693
|
cellElement = closest(cellElement, ['TD', 'TH']);
|
812
694
|
}
|
813
|
-
|
814
695
|
if (cellElement === null) {
|
815
696
|
return null;
|
816
697
|
}
|
817
|
-
|
818
698
|
var TR = cellElement.parentNode;
|
819
699
|
var CONTAINER = TR.parentNode;
|
820
700
|
var row = index(TR);
|
821
701
|
var col = cellElement.cellIndex;
|
822
|
-
|
823
702
|
if (overlayContainsElement(CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || overlayContainsElement(CLONE_TOP, cellElement, this.wtRootElement)) {
|
824
703
|
if (CONTAINER.nodeName === 'THEAD') {
|
825
704
|
row -= CONTAINER.childNodes.length;
|
@@ -832,26 +711,23 @@ var Table = /*#__PURE__*/function () {
|
|
832
711
|
} else {
|
833
712
|
row = this.rowFilter.renderedToSource(row);
|
834
713
|
}
|
835
|
-
|
836
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)) {
|
837
715
|
col = this.columnFilter.offsettedTH(col);
|
838
716
|
} else {
|
839
717
|
col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
|
840
718
|
}
|
841
|
-
|
842
719
|
return this.wot.createCellCoords(row, col);
|
843
720
|
}
|
721
|
+
|
844
722
|
/**
|
845
723
|
* Check if any of the rendered rows is higher than expected, and if so, cache them.
|
846
724
|
*/
|
847
|
-
|
848
725
|
}, {
|
849
726
|
key: "markOversizedRows",
|
850
727
|
value: function markOversizedRows() {
|
851
728
|
if (this.wtSettings.getSetting('externalRowCalculator')) {
|
852
729
|
return;
|
853
730
|
}
|
854
|
-
|
855
731
|
var rowCount = this.TBODY.childNodes.length;
|
856
732
|
var expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
|
857
733
|
var actualTableHeight = innerHeight(this.TBODY) - 1;
|
@@ -860,79 +736,73 @@ var Table = /*#__PURE__*/function () {
|
|
860
736
|
var sourceRowIndex;
|
861
737
|
var currentTr;
|
862
738
|
var rowHeader;
|
863
|
-
|
864
739
|
if (expectedTableHeight === actualTableHeight && !this.wtSettings.getSetting('fixedRowsBottom')) {
|
865
740
|
// If the actual table height equals rowCount * default single row height, no row is oversized -> no need to iterate over them
|
866
741
|
return;
|
867
742
|
}
|
868
|
-
|
869
743
|
while (rowCount) {
|
870
744
|
rowCount -= 1;
|
871
745
|
sourceRowIndex = this.rowFilter.renderedToSource(rowCount);
|
872
746
|
previousRowHeight = this.getRowHeight(sourceRowIndex);
|
873
747
|
currentTr = this.getTrForRow(sourceRowIndex);
|
874
748
|
rowHeader = currentTr.querySelector('th');
|
875
|
-
|
876
749
|
if (rowHeader) {
|
877
750
|
rowInnerHeight = innerHeight(rowHeader);
|
878
751
|
} else {
|
879
752
|
rowInnerHeight = innerHeight(currentTr) - 1;
|
880
753
|
}
|
881
|
-
|
882
754
|
if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
|
883
755
|
rowInnerHeight += 1;
|
884
756
|
this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
|
885
757
|
}
|
886
758
|
}
|
887
759
|
}
|
760
|
+
|
888
761
|
/**
|
889
762
|
* @param {number} row The visual row index.
|
890
763
|
* @returns {HTMLTableElement}
|
891
764
|
*/
|
892
|
-
|
893
765
|
}, {
|
894
766
|
key: "getTrForRow",
|
895
767
|
value: function getTrForRow(row) {
|
896
768
|
return this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
897
769
|
}
|
770
|
+
|
898
771
|
/**
|
899
772
|
* Checks if the column index (negative value from -1 to N) is rendered.
|
900
773
|
*
|
901
774
|
* @param {number} column The column index (negative value from -1 to N).
|
902
775
|
* @returns {boolean}
|
903
776
|
*/
|
904
|
-
|
905
777
|
}, {
|
906
778
|
key: "isColumnHeaderRendered",
|
907
779
|
value: function isColumnHeaderRendered(column) {
|
908
780
|
if (column >= 0) {
|
909
781
|
return false;
|
910
782
|
}
|
911
|
-
|
912
783
|
var rowHeaders = this.wtSettings.getSetting('rowHeaders');
|
913
784
|
var rowHeadersCount = rowHeaders.length;
|
914
785
|
return Math.abs(column) <= rowHeadersCount;
|
915
786
|
}
|
787
|
+
|
916
788
|
/**
|
917
789
|
* Checks if the row index (negative value from -1 to N) is rendered.
|
918
790
|
*
|
919
791
|
* @param {number} row The row index (negative value from -1 to N).
|
920
792
|
* @returns {boolean}
|
921
793
|
*/
|
922
|
-
|
923
794
|
}, {
|
924
795
|
key: "isRowHeaderRendered",
|
925
796
|
value: function isRowHeaderRendered(row) {
|
926
797
|
if (row >= 0) {
|
927
798
|
return false;
|
928
799
|
}
|
929
|
-
|
930
800
|
var columnHeaders = this.wtSettings.getSetting('columnHeaders');
|
931
801
|
var columnHeadersCount = columnHeaders.length;
|
932
802
|
return Math.abs(row) <= columnHeadersCount;
|
933
803
|
}
|
934
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
935
804
|
|
805
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
936
806
|
/**
|
937
807
|
* Check if the given row index is lower than the index of the first row that
|
938
808
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -961,23 +831,21 @@ var Table = /*#__PURE__*/function () {
|
|
961
831
|
* @function isRowBeforeRenderedRows
|
962
832
|
* @returns {boolean}
|
963
833
|
*/
|
964
|
-
|
965
834
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
966
|
-
|
967
835
|
}, {
|
968
836
|
key: "isRowBeforeRenderedRows",
|
969
837
|
value: function isRowBeforeRenderedRows(row) {
|
970
|
-
var first = this.getFirstRenderedRow();
|
971
|
-
// This is an indication that the overlay is placed on the most top position.
|
838
|
+
var first = this.getFirstRenderedRow();
|
972
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.
|
973
842
|
if (row < 0 && first <= 0) {
|
974
843
|
return !this.isRowHeaderRendered(row);
|
975
844
|
}
|
976
|
-
|
977
845
|
return row < first;
|
978
846
|
}
|
979
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
980
847
|
|
848
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
981
849
|
/**
|
982
850
|
* Check if the given column index is greater than the index of the last column that
|
983
851
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1009,16 +877,14 @@ var Table = /*#__PURE__*/function () {
|
|
1009
877
|
* @function isRowAfterRenderedRows
|
1010
878
|
* @returns {boolean}
|
1011
879
|
*/
|
1012
|
-
|
1013
880
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1014
|
-
|
1015
881
|
}, {
|
1016
882
|
key: "isRowAfterRenderedRows",
|
1017
883
|
value: function isRowAfterRenderedRows(row) {
|
1018
884
|
return row > this.getLastRenderedRow();
|
1019
885
|
}
|
1020
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1021
886
|
|
887
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1022
888
|
/**
|
1023
889
|
* Check if the given column index is lower than the index of the first column that
|
1024
890
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1046,23 +912,21 @@ var Table = /*#__PURE__*/function () {
|
|
1046
912
|
* @function isColumnBeforeRenderedColumns
|
1047
913
|
* @returns {boolean}
|
1048
914
|
*/
|
1049
|
-
|
1050
915
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1051
|
-
|
1052
916
|
}, {
|
1053
917
|
key: "isColumnBeforeRenderedColumns",
|
1054
918
|
value: function isColumnBeforeRenderedColumns(column) {
|
1055
|
-
var first = this.getFirstRenderedColumn();
|
1056
|
-
// This is an indication that the overlay is placed on the most left position.
|
919
|
+
var first = this.getFirstRenderedColumn();
|
1057
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.
|
1058
923
|
if (column < 0 && first <= 0) {
|
1059
924
|
return !this.isColumnHeaderRendered(column);
|
1060
925
|
}
|
1061
|
-
|
1062
926
|
return column < first;
|
1063
927
|
}
|
1064
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1065
928
|
|
929
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1066
930
|
/**
|
1067
931
|
* Check if the given column index is greater than the index of the last column that
|
1068
932
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1093,9 +957,7 @@ var Table = /*#__PURE__*/function () {
|
|
1093
957
|
* @function isColumnAfterRenderedColumns
|
1094
958
|
* @returns {boolean}
|
1095
959
|
*/
|
1096
|
-
|
1097
960
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1098
|
-
|
1099
961
|
}, {
|
1100
962
|
key: "isColumnAfterRenderedColumns",
|
1101
963
|
value: function isColumnAfterRenderedColumns(column) {
|
@@ -1136,124 +998,127 @@ var Table = /*#__PURE__*/function () {
|
|
1136
998
|
value: function allColumnsInViewport() {
|
1137
999
|
return this.wtSettings.getSetting('totalColumns') === this.getVisibleColumnsCount();
|
1138
1000
|
}
|
1001
|
+
|
1139
1002
|
/**
|
1140
1003
|
* Checks if any of the row's cells content exceeds its initial height, and if so, returns the oversized height.
|
1141
1004
|
*
|
1142
1005
|
* @param {number} sourceRow The physical row index.
|
1143
1006
|
* @returns {number}
|
1144
1007
|
*/
|
1145
|
-
|
1146
1008
|
}, {
|
1147
1009
|
key: "getRowHeight",
|
1148
1010
|
value: function getRowHeight(sourceRow) {
|
1149
1011
|
return this.rowUtils.getHeight(sourceRow);
|
1150
1012
|
}
|
1013
|
+
|
1151
1014
|
/**
|
1152
1015
|
* @param {number} level The column level.
|
1153
1016
|
* @returns {number}
|
1154
1017
|
*/
|
1155
|
-
|
1156
1018
|
}, {
|
1157
1019
|
key: "getColumnHeaderHeight",
|
1158
1020
|
value: function getColumnHeaderHeight(level) {
|
1159
1021
|
return this.columnUtils.getHeaderHeight(level);
|
1160
1022
|
}
|
1023
|
+
|
1161
1024
|
/**
|
1162
1025
|
* @param {number} sourceColumn The physical column index.
|
1163
1026
|
* @returns {number}
|
1164
1027
|
*/
|
1165
|
-
|
1166
1028
|
}, {
|
1167
1029
|
key: "getColumnWidth",
|
1168
1030
|
value: function getColumnWidth(sourceColumn) {
|
1169
1031
|
return this.columnUtils.getWidth(sourceColumn);
|
1170
1032
|
}
|
1033
|
+
|
1171
1034
|
/**
|
1172
1035
|
* @param {number} sourceColumn The physical column index.
|
1173
1036
|
* @returns {number}
|
1174
1037
|
*/
|
1175
|
-
|
1176
1038
|
}, {
|
1177
1039
|
key: "getStretchedColumnWidth",
|
1178
1040
|
value: function getStretchedColumnWidth(sourceColumn) {
|
1179
1041
|
return this.columnUtils.getStretchedColumnWidth(sourceColumn);
|
1180
1042
|
}
|
1043
|
+
|
1181
1044
|
/**
|
1182
1045
|
* Checks if the table has defined size. It returns `true` when the table has width and height
|
1183
1046
|
* set bigger than `0px`.
|
1184
1047
|
*
|
1185
1048
|
* @returns {boolean}
|
1186
1049
|
*/
|
1187
|
-
|
1188
1050
|
}, {
|
1189
1051
|
key: "hasDefinedSize",
|
1190
1052
|
value: function hasDefinedSize() {
|
1191
1053
|
return this.hasTableHeight && this.hasTableWidth;
|
1192
1054
|
}
|
1055
|
+
|
1193
1056
|
/**
|
1194
1057
|
* Gets table's width. The returned width is the width of the rendered cells that fit in the
|
1195
1058
|
* current viewport. The value may change depends on the viewport position (scroll position).
|
1196
1059
|
*
|
1197
1060
|
* @returns {number}
|
1198
1061
|
*/
|
1199
|
-
|
1200
1062
|
}, {
|
1201
1063
|
key: "getWidth",
|
1202
1064
|
value: function getWidth() {
|
1203
1065
|
return outerWidth(this.TABLE);
|
1204
1066
|
}
|
1067
|
+
|
1205
1068
|
/**
|
1206
1069
|
* Gets table's height. The returned height is the height of the rendered cells that fit in the
|
1207
1070
|
* current viewport. The value may change depends on the viewport position (scroll position).
|
1208
1071
|
*
|
1209
1072
|
* @returns {number}
|
1210
1073
|
*/
|
1211
|
-
|
1212
1074
|
}, {
|
1213
1075
|
key: "getHeight",
|
1214
1076
|
value: function getHeight() {
|
1215
1077
|
return outerHeight(this.TABLE);
|
1216
1078
|
}
|
1079
|
+
|
1217
1080
|
/**
|
1218
1081
|
* Gets table's total width. The returned width is the width of all rendered cells (including headers)
|
1219
1082
|
* that can be displayed in the table.
|
1220
1083
|
*
|
1221
1084
|
* @returns {number}
|
1222
1085
|
*/
|
1223
|
-
|
1224
1086
|
}, {
|
1225
1087
|
key: "getTotalWidth",
|
1226
1088
|
value: function getTotalWidth() {
|
1227
|
-
var width = outerWidth(this.hider);
|
1089
|
+
var width = outerWidth(this.hider);
|
1228
1090
|
|
1091
|
+
// when the overlay's table does not have any cells the hider returns 0, get then width from the table element
|
1229
1092
|
return width !== 0 ? width : this.getWidth();
|
1230
1093
|
}
|
1094
|
+
|
1231
1095
|
/**
|
1232
1096
|
* Gets table's total height. The returned height is the height of all rendered cells (including headers)
|
1233
1097
|
* that can be displayed in the table.
|
1234
1098
|
*
|
1235
1099
|
* @returns {number}
|
1236
1100
|
*/
|
1237
|
-
|
1238
1101
|
}, {
|
1239
1102
|
key: "getTotalHeight",
|
1240
1103
|
value: function getTotalHeight() {
|
1241
|
-
var height = outerHeight(this.hider);
|
1104
|
+
var height = outerHeight(this.hider);
|
1242
1105
|
|
1106
|
+
// when the overlay's table does not have any cells the hider returns 0, get then height from the table element
|
1243
1107
|
return height !== 0 ? height : this.getHeight();
|
1244
1108
|
}
|
1109
|
+
|
1245
1110
|
/**
|
1246
1111
|
* Checks if the table is visible. It returns `true` when the holder element (or its parents)
|
1247
1112
|
* has CSS 'display' property different than 'none'.
|
1248
1113
|
*
|
1249
1114
|
* @returns {boolean}
|
1250
1115
|
*/
|
1251
|
-
|
1252
1116
|
}, {
|
1253
1117
|
key: "isVisible",
|
1254
1118
|
value: function isVisible() {
|
1255
1119
|
return _isVisible(this.TABLE);
|
1256
1120
|
}
|
1121
|
+
|
1257
1122
|
/**
|
1258
1123
|
* Modify row header widths provided by user in class contructor.
|
1259
1124
|
*
|
@@ -1261,21 +1126,19 @@ var Table = /*#__PURE__*/function () {
|
|
1261
1126
|
* @param {Function} rowHeaderWidthFactory The function which can provide default width values for rows..
|
1262
1127
|
* @returns {number}
|
1263
1128
|
*/
|
1264
|
-
|
1265
1129
|
}, {
|
1266
1130
|
key: "_modifyRowHeaderWidth",
|
1267
1131
|
value: function _modifyRowHeaderWidth(rowHeaderWidthFactory) {
|
1268
1132
|
var widths = isFunction(rowHeaderWidthFactory) ? rowHeaderWidthFactory() : null;
|
1269
|
-
|
1270
1133
|
if (Array.isArray(widths)) {
|
1271
1134
|
widths = _toConsumableArray(widths);
|
1272
1135
|
widths[widths.length - 1] = this._correctRowHeaderWidth(widths[widths.length - 1]);
|
1273
1136
|
} else {
|
1274
1137
|
widths = this._correctRowHeaderWidth(widths);
|
1275
1138
|
}
|
1276
|
-
|
1277
1139
|
return widths;
|
1278
1140
|
}
|
1141
|
+
|
1279
1142
|
/**
|
1280
1143
|
* Correct row header width if necessary.
|
1281
1144
|
*
|
@@ -1283,25 +1146,19 @@ var Table = /*#__PURE__*/function () {
|
|
1283
1146
|
* @param {number} width The width to process.
|
1284
1147
|
* @returns {number}
|
1285
1148
|
*/
|
1286
|
-
|
1287
1149
|
}, {
|
1288
1150
|
key: "_correctRowHeaderWidth",
|
1289
1151
|
value: function _correctRowHeaderWidth(width) {
|
1290
1152
|
var rowHeaderWidth = width;
|
1291
|
-
|
1292
1153
|
if (typeof width !== 'number') {
|
1293
1154
|
rowHeaderWidth = this.wtSettings.getSetting('defaultColumnWidth');
|
1294
1155
|
}
|
1295
|
-
|
1296
1156
|
if (this.correctHeaderWidth) {
|
1297
1157
|
rowHeaderWidth += 1;
|
1298
1158
|
}
|
1299
|
-
|
1300
1159
|
return rowHeaderWidth;
|
1301
1160
|
}
|
1302
1161
|
}]);
|
1303
|
-
|
1304
1162
|
return Table;
|
1305
1163
|
}();
|
1306
|
-
|
1307
1164
|
export default Table;
|