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