handsontable 12.1.3 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +34 -151
- package/3rdparty/walkontable/src/border.mjs +36 -138
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +63 -230
- package/3rdparty/walkontable/src/table.mjs +73 -219
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +76 -1
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +5 -1
- package/core.js +505 -973
- package/core.mjs +510 -920
- package/dataMap/dataMap.js +106 -210
- package/dataMap/dataMap.mjs +106 -184
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +10 -61
- package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +86 -179
- package/dataMap/metaManager/metaSchema.mjs +86 -170
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +8478 -20043
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +55 -55
- package/dist/handsontable.js +7995 -19560
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +36 -105
- package/editorManager.mjs +36 -85
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +44 -154
- package/editors/baseEditor/baseEditor.mjs +44 -128
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +20 -96
- package/editors/dateEditor/dateEditor.mjs +20 -75
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +10 -18
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +66 -256
- package/helpers/dom/element.mjs +73 -192
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +15 -50
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -68
- package/helpers/object.mjs +21 -50
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -3
- package/pluginHooks.js +271 -96
- package/pluginHooks.mjs +270 -83
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +20 -89
- package/plugins/base/base.mjs +20 -61
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +52 -118
- package/plugins/columnSummary/columnSummary.mjs +52 -93
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -36
- package/plugins/contextMenu/commandExecutor.mjs +14 -39
- package/plugins/contextMenu/contextMenu.js +21 -104
- package/plugins/contextMenu/contextMenu.mjs +21 -74
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +57 -177
- package/plugins/contextMenu/menu.mjs +57 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +51 -185
- package/plugins/copyPaste/copyPaste.mjs +51 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +43 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +15 -94
- package/plugins/filters/component/condition.mjs +18 -67
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +16 -97
- package/plugins/filters/component/value.mjs +19 -70
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.js +103 -208
- package/plugins/filters/filters.mjs +103 -163
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -149
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -148
- package/plugins/hiddenRows/hiddenRows.mjs +70 -107
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +40 -118
- package/plugins/nestedRows/nestedRows.mjs +40 -85
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -96
- package/plugins/search/search.mjs +16 -67
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +59 -85
- package/plugins/trimRows/trimRows.mjs +59 -62
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +68 -156
- package/translations/indexMapper.mjs +68 -123
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
package/tableView.js
CHANGED
@@ -1,89 +1,53 @@
|
|
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.from.js");
|
10
|
-
|
11
7
|
require("core-js/modules/es.array.slice.js");
|
12
|
-
|
13
8
|
require("core-js/modules/es.function.name.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.array.iterator.js");
|
21
|
-
|
22
13
|
require("core-js/modules/es.object.to-string.js");
|
23
|
-
|
24
14
|
require("core-js/modules/es.string.iterator.js");
|
25
|
-
|
26
15
|
require("core-js/modules/es.weak-map.js");
|
27
|
-
|
28
16
|
require("core-js/modules/web.dom-collections.iterator.js");
|
29
|
-
|
30
17
|
require("core-js/modules/es.number.is-integer.js");
|
31
|
-
|
32
18
|
require("core-js/modules/es.number.constructor.js");
|
33
|
-
|
34
19
|
var _element = require("./helpers/dom/element");
|
35
|
-
|
36
20
|
var _eventManager = _interopRequireDefault(require("./eventManager"));
|
37
|
-
|
38
21
|
var _event = require("./helpers/dom/event");
|
39
|
-
|
40
22
|
var _src = _interopRequireDefault(require("./3rdparty/walkontable/src"));
|
41
|
-
|
42
23
|
var _mouseEventHandler = require("./selection/mouseEventHandler");
|
43
|
-
|
44
24
|
var _rootInstance = require("./utils/rootInstance");
|
45
|
-
|
46
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
47
|
-
|
48
26
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
49
|
-
|
50
27
|
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."); }
|
51
|
-
|
52
28
|
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; }
|
53
|
-
|
54
29
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
55
|
-
|
56
30
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
57
|
-
|
58
31
|
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."); }
|
59
|
-
|
60
32
|
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); }
|
61
|
-
|
62
33
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
63
|
-
|
64
34
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
65
|
-
|
66
35
|
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; }
|
67
|
-
|
68
36
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
69
|
-
|
70
37
|
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); } }
|
71
|
-
|
72
38
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
73
|
-
|
74
39
|
var privatePool = new WeakMap();
|
40
|
+
|
75
41
|
/**
|
76
42
|
* @class TableView
|
77
43
|
* @private
|
78
44
|
*/
|
79
|
-
|
80
45
|
var TableView = /*#__PURE__*/function () {
|
81
46
|
/**
|
82
47
|
* @param {Hanstontable} instance Instance of {@link Handsontable}.
|
83
48
|
*/
|
84
49
|
function TableView(instance) {
|
85
50
|
_classCallCheck(this, TableView);
|
86
|
-
|
87
51
|
/**
|
88
52
|
* Instance of {@link Handsontable}.
|
89
53
|
*
|
@@ -97,7 +61,6 @@ var TableView = /*#__PURE__*/function () {
|
|
97
61
|
* @private
|
98
62
|
* @type {EventManager}
|
99
63
|
*/
|
100
|
-
|
101
64
|
this.eventManager = new _eventManager.default(instance);
|
102
65
|
/**
|
103
66
|
* Current Handsontable's GridSettings object.
|
@@ -105,7 +68,6 @@ var TableView = /*#__PURE__*/function () {
|
|
105
68
|
* @private
|
106
69
|
* @type {GridSettings}
|
107
70
|
*/
|
108
|
-
|
109
71
|
this.settings = instance.getSettings();
|
110
72
|
/**
|
111
73
|
* Main <THEAD> element.
|
@@ -113,7 +75,6 @@ var TableView = /*#__PURE__*/function () {
|
|
113
75
|
* @private
|
114
76
|
* @type {HTMLTableSectionElement}
|
115
77
|
*/
|
116
|
-
|
117
78
|
this.THEAD = void 0;
|
118
79
|
/**
|
119
80
|
* Main <TBODY> element.
|
@@ -121,7 +82,6 @@ var TableView = /*#__PURE__*/function () {
|
|
121
82
|
* @private
|
122
83
|
* @type {HTMLTableSectionElement}
|
123
84
|
*/
|
124
|
-
|
125
85
|
this.TBODY = void 0;
|
126
86
|
/**
|
127
87
|
* Main Walkontable instance.
|
@@ -129,7 +89,6 @@ var TableView = /*#__PURE__*/function () {
|
|
129
89
|
* @private
|
130
90
|
* @type {Walkontable}
|
131
91
|
*/
|
132
|
-
|
133
92
|
this._wt = void 0;
|
134
93
|
/**
|
135
94
|
* Main Walkontable instance.
|
@@ -137,7 +96,6 @@ var TableView = /*#__PURE__*/function () {
|
|
137
96
|
* @private
|
138
97
|
* @type {Walkontable}
|
139
98
|
*/
|
140
|
-
|
141
99
|
this.activeWt = void 0;
|
142
100
|
/**
|
143
101
|
* The flag determines if the `adjustElementsSize` method call was made during
|
@@ -147,7 +105,6 @@ var TableView = /*#__PURE__*/function () {
|
|
147
105
|
* @private
|
148
106
|
* @type {boolean}
|
149
107
|
*/
|
150
|
-
|
151
108
|
this.postponedAdjustElementsSize = false;
|
152
109
|
privatePool.set(this, {
|
153
110
|
/**
|
@@ -157,13 +114,11 @@ var TableView = /*#__PURE__*/function () {
|
|
157
114
|
* @type {boolean}
|
158
115
|
*/
|
159
116
|
selectionMouseDown: false,
|
160
|
-
|
161
117
|
/**
|
162
118
|
* @private
|
163
119
|
* @type {boolean}
|
164
120
|
*/
|
165
121
|
mouseDown: void 0,
|
166
|
-
|
167
122
|
/**
|
168
123
|
* Main <TABLE> element.
|
169
124
|
*
|
@@ -171,14 +126,12 @@ var TableView = /*#__PURE__*/function () {
|
|
171
126
|
* @type {HTMLTableElement}
|
172
127
|
*/
|
173
128
|
table: void 0,
|
174
|
-
|
175
129
|
/**
|
176
130
|
* Cached width of the rootElement.
|
177
131
|
*
|
178
132
|
* @type {number}
|
179
133
|
*/
|
180
134
|
lastWidth: 0,
|
181
|
-
|
182
135
|
/**
|
183
136
|
* Cached height of the rootElement.
|
184
137
|
*
|
@@ -190,46 +143,42 @@ var TableView = /*#__PURE__*/function () {
|
|
190
143
|
this.registerEvents();
|
191
144
|
this.initializeWalkontable();
|
192
145
|
}
|
146
|
+
|
193
147
|
/**
|
194
148
|
* Renders WalkontableUI.
|
195
149
|
*/
|
196
|
-
|
197
|
-
|
198
150
|
_createClass(TableView, [{
|
199
151
|
key: "render",
|
200
152
|
value: function render() {
|
201
153
|
if (!this.instance.isRenderSuspended()) {
|
202
154
|
this.instance.runHooks('beforeRender', this.instance.forceFullRender);
|
203
|
-
|
204
155
|
if (this.postponedAdjustElementsSize) {
|
205
156
|
this.postponedAdjustElementsSize = false;
|
206
157
|
this.adjustElementsSize(true);
|
207
158
|
}
|
208
|
-
|
209
159
|
this._wt.draw(!this.instance.forceFullRender);
|
210
|
-
|
211
160
|
this.instance.runHooks('afterRender', this.instance.forceFullRender);
|
212
161
|
this.instance.forceFullRender = false;
|
213
162
|
this.instance.renderCall = false;
|
214
163
|
}
|
215
164
|
}
|
165
|
+
|
216
166
|
/**
|
217
167
|
* Adjust overlays elements size and master table size.
|
218
168
|
*
|
219
169
|
* @param {boolean} [force=false] When `true`, it adjust the DOM nodes sizes for all overlays.
|
220
170
|
*/
|
221
|
-
|
222
171
|
}, {
|
223
172
|
key: "adjustElementsSize",
|
224
173
|
value: function adjustElementsSize() {
|
225
174
|
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
226
|
-
|
227
175
|
if (this.instance.isRenderSuspended()) {
|
228
176
|
this.postponedAdjustElementsSize = true;
|
229
177
|
} else {
|
230
178
|
this._wt.wtOverlays.adjustElementsSize(force);
|
231
179
|
}
|
232
180
|
}
|
181
|
+
|
233
182
|
/**
|
234
183
|
* Returns td object given coordinates.
|
235
184
|
*
|
@@ -237,19 +186,17 @@ var TableView = /*#__PURE__*/function () {
|
|
237
186
|
* @param {boolean} topmost Indicates whether the cell should be calculated from the topmost.
|
238
187
|
* @returns {HTMLTableCellElement|null}
|
239
188
|
*/
|
240
|
-
|
241
189
|
}, {
|
242
190
|
key: "getCellAtCoords",
|
243
191
|
value: function getCellAtCoords(coords, topmost) {
|
244
192
|
var td = this._wt.getCell(coords, topmost);
|
245
|
-
|
246
193
|
if (td < 0) {
|
247
194
|
// there was an exit code (cell is out of bounds)
|
248
195
|
return null;
|
249
196
|
}
|
250
|
-
|
251
197
|
return td;
|
252
198
|
}
|
199
|
+
|
253
200
|
/**
|
254
201
|
* Scroll viewport to a cell.
|
255
202
|
*
|
@@ -260,12 +207,12 @@ var TableView = /*#__PURE__*/function () {
|
|
260
207
|
* @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left side of the table.
|
261
208
|
* @returns {boolean}
|
262
209
|
*/
|
263
|
-
|
264
210
|
}, {
|
265
211
|
key: "scrollViewport",
|
266
212
|
value: function scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
|
267
213
|
return this._wt.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
|
268
214
|
}
|
215
|
+
|
269
216
|
/**
|
270
217
|
* Scroll viewport to a column.
|
271
218
|
*
|
@@ -274,12 +221,12 @@ var TableView = /*#__PURE__*/function () {
|
|
274
221
|
* @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left side of the table.
|
275
222
|
* @returns {boolean}
|
276
223
|
*/
|
277
|
-
|
278
224
|
}, {
|
279
225
|
key: "scrollViewportHorizontally",
|
280
226
|
value: function scrollViewportHorizontally(column, snapToRight, snapToLeft) {
|
281
227
|
return this._wt.scrollViewportHorizontally(column, snapToRight, snapToLeft);
|
282
228
|
}
|
229
|
+
|
283
230
|
/**
|
284
231
|
* Scroll viewport to a row.
|
285
232
|
*
|
@@ -288,27 +235,25 @@ var TableView = /*#__PURE__*/function () {
|
|
288
235
|
* @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom side of the table.
|
289
236
|
* @returns {boolean}
|
290
237
|
*/
|
291
|
-
|
292
238
|
}, {
|
293
239
|
key: "scrollViewportVertically",
|
294
240
|
value: function scrollViewportVertically(row, snapToTop, snapToBottom) {
|
295
241
|
return this._wt.scrollViewportVertically(row, snapToTop, snapToBottom);
|
296
242
|
}
|
243
|
+
|
297
244
|
/**
|
298
245
|
* Prepares DOMElements and adds correct className to the root element.
|
299
246
|
*
|
300
247
|
* @private
|
301
248
|
*/
|
302
|
-
|
303
249
|
}, {
|
304
250
|
key: "createElements",
|
305
251
|
value: function createElements() {
|
306
252
|
var priv = privatePool.get(this);
|
307
253
|
var _this$instance = this.instance,
|
308
|
-
|
309
|
-
|
254
|
+
rootElement = _this$instance.rootElement,
|
255
|
+
rootDocument = _this$instance.rootDocument;
|
310
256
|
var originalStyle = rootElement.getAttribute('style');
|
311
|
-
|
312
257
|
if (originalStyle) {
|
313
258
|
rootElement.setAttribute('data-originalstyle', originalStyle); // needed to retrieve original style in jsFiddle link generator in HT examples. may be removed in future versions
|
314
259
|
}
|
@@ -316,11 +261,9 @@ var TableView = /*#__PURE__*/function () {
|
|
316
261
|
(0, _element.addClass)(rootElement, 'handsontable');
|
317
262
|
priv.table = rootDocument.createElement('TABLE');
|
318
263
|
(0, _element.addClass)(priv.table, 'htCore');
|
319
|
-
|
320
264
|
if (this.instance.getSettings().tableClassName) {
|
321
265
|
(0, _element.addClass)(priv.table, this.instance.getSettings().tableClassName);
|
322
266
|
}
|
323
|
-
|
324
267
|
this.THEAD = rootDocument.createElement('THEAD');
|
325
268
|
priv.table.appendChild(this.THEAD);
|
326
269
|
this.TBODY = rootDocument.createElement('TBODY');
|
@@ -328,26 +271,24 @@ var TableView = /*#__PURE__*/function () {
|
|
328
271
|
this.instance.table = priv.table;
|
329
272
|
this.instance.container.insertBefore(priv.table, this.instance.container.firstChild);
|
330
273
|
}
|
274
|
+
|
331
275
|
/**
|
332
276
|
* Attaches necessary listeners.
|
333
277
|
*
|
334
278
|
* @private
|
335
279
|
*/
|
336
|
-
|
337
280
|
}, {
|
338
281
|
key: "registerEvents",
|
339
282
|
value: function registerEvents() {
|
340
283
|
var _this = this;
|
341
|
-
|
342
284
|
var priv = privatePool.get(this);
|
343
285
|
var _this$instance2 = this.instance,
|
344
|
-
|
345
|
-
|
346
|
-
|
286
|
+
rootElement = _this$instance2.rootElement,
|
287
|
+
rootDocument = _this$instance2.rootDocument,
|
288
|
+
selection = _this$instance2.selection;
|
347
289
|
var documentElement = rootDocument.documentElement;
|
348
290
|
this.eventManager.addEventListener(rootElement, 'mousedown', function (event) {
|
349
291
|
priv.selectionMouseDown = true;
|
350
|
-
|
351
292
|
if (!_this.isTextSelectionAllowed(event.target)) {
|
352
293
|
var rootWindow = _this.instance.rootWindow;
|
353
294
|
(0, _element.clearTextSelection)(rootWindow);
|
@@ -355,6 +296,7 @@ var TableView = /*#__PURE__*/function () {
|
|
355
296
|
rootWindow.focus(); // make sure that window that contains HOT is active. Important when HOT is in iframe.
|
356
297
|
}
|
357
298
|
});
|
299
|
+
|
358
300
|
this.eventManager.addEventListener(rootElement, 'mouseup', function () {
|
359
301
|
priv.selectionMouseDown = false;
|
360
302
|
});
|
@@ -364,7 +306,6 @@ var TableView = /*#__PURE__*/function () {
|
|
364
306
|
if (_this.settings.fragmentSelection) {
|
365
307
|
(0, _element.clearTextSelection)(_this.instance.rootWindow);
|
366
308
|
}
|
367
|
-
|
368
309
|
event.preventDefault();
|
369
310
|
}
|
370
311
|
});
|
@@ -379,9 +320,7 @@ var TableView = /*#__PURE__*/function () {
|
|
379
320
|
// is left mouse button
|
380
321
|
selection.finish();
|
381
322
|
}
|
382
|
-
|
383
323
|
priv.mouseDown = false;
|
384
|
-
|
385
324
|
if ((0, _element.isOutsideInput)(rootDocument.activeElement) || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !(0, _event.isRightClick)(event)) {
|
386
325
|
_this.instance.unlisten();
|
387
326
|
}
|
@@ -396,7 +335,6 @@ var TableView = /*#__PURE__*/function () {
|
|
396
335
|
if (selection.isInProgress()) {
|
397
336
|
selection.finish();
|
398
337
|
}
|
399
|
-
|
400
338
|
priv.mouseDown = false;
|
401
339
|
});
|
402
340
|
this.eventManager.addEventListener(documentElement, 'mousedown', function (event) {
|
@@ -404,17 +342,14 @@ var TableView = /*#__PURE__*/function () {
|
|
404
342
|
var eventX = event.x || event.clientX;
|
405
343
|
var eventY = event.y || event.clientY;
|
406
344
|
var next = event.target;
|
407
|
-
|
408
345
|
if (priv.mouseDown || !rootElement || !_this.instance.view) {
|
409
346
|
return; // it must have been started in a cell
|
410
|
-
}
|
411
|
-
|
347
|
+
}
|
412
348
|
|
349
|
+
// immediate click on "holder" means click on the right side of vertical scrollbar
|
413
350
|
var holder = _this.instance.view._wt.wtTable.holder;
|
414
|
-
|
415
351
|
if (next === holder) {
|
416
352
|
var scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
|
417
|
-
|
418
353
|
if (rootDocument.elementFromPoint(eventX + scrollbarWidth, eventY) !== holder || rootDocument.elementFromPoint(eventX, eventY + scrollbarWidth) !== holder) {
|
419
354
|
return;
|
420
355
|
}
|
@@ -423,24 +358,21 @@ var TableView = /*#__PURE__*/function () {
|
|
423
358
|
if (next === null) {
|
424
359
|
if (event.isTargetWebComponent) {
|
425
360
|
break;
|
426
|
-
}
|
427
|
-
|
361
|
+
}
|
428
362
|
|
363
|
+
// click on something that was a row but now is detached (possibly because your click triggered a rerender)
|
429
364
|
return;
|
430
365
|
}
|
431
|
-
|
432
366
|
if (next === rootElement) {
|
433
367
|
// click inside container
|
434
368
|
return;
|
435
369
|
}
|
436
|
-
|
437
370
|
next = next.parentNode;
|
438
371
|
}
|
439
|
-
}
|
440
|
-
|
372
|
+
}
|
441
373
|
|
374
|
+
// function did not return until here, we have an outside click!
|
442
375
|
var outsideClickDeselects = typeof _this.settings.outsideClickDeselects === 'function' ? _this.settings.outsideClickDeselects(originalTarget) : _this.settings.outsideClickDeselects;
|
443
|
-
|
444
376
|
if (outsideClickDeselects) {
|
445
377
|
_this.instance.deselectCell();
|
446
378
|
} else {
|
@@ -450,30 +382,29 @@ var TableView = /*#__PURE__*/function () {
|
|
450
382
|
this.eventManager.addEventListener(priv.table, 'selectstart', function (event) {
|
451
383
|
if (_this.settings.fragmentSelection || (0, _element.isInput)(event.target)) {
|
452
384
|
return;
|
453
|
-
}
|
385
|
+
}
|
386
|
+
// https://github.com/handsontable/handsontable/issues/160
|
454
387
|
// Prevent text from being selected when performing drag down.
|
455
|
-
|
456
|
-
|
457
388
|
event.preventDefault();
|
458
389
|
});
|
459
390
|
}
|
391
|
+
|
460
392
|
/**
|
461
393
|
* Translate renderable cell coordinates to visual coordinates.
|
462
394
|
*
|
463
395
|
* @param {CellCoords} coords The cell coordinates.
|
464
396
|
* @returns {CellCoords}
|
465
397
|
*/
|
466
|
-
|
467
398
|
}, {
|
468
399
|
key: "translateFromRenderableToVisualCoords",
|
469
400
|
value: function translateFromRenderableToVisualCoords(_ref) {
|
470
401
|
var _this$instance3;
|
471
|
-
|
472
402
|
var row = _ref.row,
|
473
|
-
|
403
|
+
col = _ref.col;
|
474
404
|
// TODO: To consider an idea to reusing the CellCoords instance instead creating new one.
|
475
405
|
return (_this$instance3 = this.instance)._createCellCoords.apply(_this$instance3, _toConsumableArray(this.translateFromRenderableToVisualIndex(row, col)));
|
476
406
|
}
|
407
|
+
|
477
408
|
/**
|
478
409
|
* Translate renderable row and column indexes to visual row and column indexes.
|
479
410
|
*
|
@@ -481,7 +412,6 @@ var TableView = /*#__PURE__*/function () {
|
|
481
412
|
* @param {number} renderableColumn Renderable columnIndex.
|
482
413
|
* @returns {number[]}
|
483
414
|
*/
|
484
|
-
|
485
415
|
}, {
|
486
416
|
key: "translateFromRenderableToVisualIndex",
|
487
417
|
value: function translateFromRenderableToVisualIndex(renderableRow, renderableColumn) {
|
@@ -489,17 +419,15 @@ var TableView = /*#__PURE__*/function () {
|
|
489
419
|
// We perform translation for indexes (without headers).
|
490
420
|
var visualRow = renderableRow >= 0 ? this.instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRow) : renderableRow;
|
491
421
|
var visualColumn = renderableColumn >= 0 ? this.instance.columnIndexMapper.getVisualFromRenderableIndex(renderableColumn) : renderableColumn;
|
492
|
-
|
493
422
|
if (visualRow === null) {
|
494
423
|
visualRow = renderableRow;
|
495
424
|
}
|
496
|
-
|
497
425
|
if (visualColumn === null) {
|
498
426
|
visualColumn = renderableColumn;
|
499
427
|
}
|
500
|
-
|
501
428
|
return [visualRow, visualColumn];
|
502
429
|
}
|
430
|
+
|
503
431
|
/**
|
504
432
|
* Returns the number of renderable indexes.
|
505
433
|
*
|
@@ -509,42 +437,42 @@ var TableView = /*#__PURE__*/function () {
|
|
509
437
|
*
|
510
438
|
* @returns {number|*}
|
511
439
|
*/
|
512
|
-
|
513
440
|
}, {
|
514
441
|
key: "countRenderableIndexes",
|
515
442
|
value: function countRenderableIndexes(indexMapper, maxElements) {
|
516
|
-
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements);
|
517
|
-
|
518
|
-
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1);
|
443
|
+
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements);
|
444
|
+
// Don't take hidden indexes into account. We are looking just for renderable indexes.
|
445
|
+
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1);
|
519
446
|
|
447
|
+
// There are no renderable indexes.
|
520
448
|
if (firstNotHiddenIndex === null) {
|
521
449
|
return 0;
|
522
450
|
}
|
523
|
-
|
524
451
|
return indexMapper.getRenderableFromVisualIndex(firstNotHiddenIndex) + 1;
|
525
452
|
}
|
453
|
+
|
526
454
|
/**
|
527
455
|
* Returns the number of renderable columns.
|
528
456
|
*
|
529
457
|
* @returns {number}
|
530
458
|
*/
|
531
|
-
|
532
459
|
}, {
|
533
460
|
key: "countRenderableColumns",
|
534
461
|
value: function countRenderableColumns() {
|
535
462
|
return this.countRenderableIndexes(this.instance.columnIndexMapper, this.settings.maxCols);
|
536
463
|
}
|
464
|
+
|
537
465
|
/**
|
538
466
|
* Returns the number of renderable rows.
|
539
467
|
*
|
540
468
|
* @returns {number}
|
541
469
|
*/
|
542
|
-
|
543
470
|
}, {
|
544
471
|
key: "countRenderableRows",
|
545
472
|
value: function countRenderableRows() {
|
546
473
|
return this.countRenderableIndexes(this.instance.rowIndexMapper, this.settings.maxRows);
|
547
474
|
}
|
475
|
+
|
548
476
|
/**
|
549
477
|
* Returns number of not hidden row indexes counting from the passed starting index.
|
550
478
|
* The counting direction can be controlled by `incrementBy` argument.
|
@@ -553,12 +481,12 @@ var TableView = /*#__PURE__*/function () {
|
|
553
481
|
* @param {number} incrementBy If `-1` then counting is backwards or forward when `1`.
|
554
482
|
* @returns {number}
|
555
483
|
*/
|
556
|
-
|
557
484
|
}, {
|
558
485
|
key: "countNotHiddenRowIndexes",
|
559
486
|
value: function countNotHiddenRowIndexes(visualIndex, incrementBy) {
|
560
487
|
return this.countNotHiddenIndexes(visualIndex, incrementBy, this.instance.rowIndexMapper, this.countRenderableRows());
|
561
488
|
}
|
489
|
+
|
562
490
|
/**
|
563
491
|
* Returns number of not hidden column indexes counting from the passed starting index.
|
564
492
|
* The counting direction can be controlled by `incrementBy` argument.
|
@@ -567,12 +495,12 @@ var TableView = /*#__PURE__*/function () {
|
|
567
495
|
* @param {number} incrementBy If `-1` then counting is backwards or forward when `1`.
|
568
496
|
* @returns {number}
|
569
497
|
*/
|
570
|
-
|
571
498
|
}, {
|
572
499
|
key: "countNotHiddenColumnIndexes",
|
573
500
|
value: function countNotHiddenColumnIndexes(visualIndex, incrementBy) {
|
574
501
|
return this.countNotHiddenIndexes(visualIndex, incrementBy, this.instance.columnIndexMapper, this.countRenderableColumns());
|
575
502
|
}
|
503
|
+
|
576
504
|
/**
|
577
505
|
* Returns number of not hidden indexes counting from the passed starting index.
|
578
506
|
* The counting direction can be controlled by `incrementBy` argument.
|
@@ -583,39 +511,33 @@ var TableView = /*#__PURE__*/function () {
|
|
583
511
|
* @param {number} renderableIndexesCount Total count of renderable indexes for specific axis.
|
584
512
|
* @returns {number}
|
585
513
|
*/
|
586
|
-
|
587
514
|
}, {
|
588
515
|
key: "countNotHiddenIndexes",
|
589
516
|
value: function countNotHiddenIndexes(visualIndex, incrementBy, indexMapper, renderableIndexesCount) {
|
590
517
|
if (isNaN(visualIndex) || visualIndex < 0) {
|
591
518
|
return 0;
|
592
519
|
}
|
593
|
-
|
594
520
|
var firstVisibleIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, incrementBy);
|
595
521
|
var renderableIndex = indexMapper.getRenderableFromVisualIndex(firstVisibleIndex);
|
596
|
-
|
597
522
|
if (!Number.isInteger(renderableIndex)) {
|
598
523
|
return 0;
|
599
524
|
}
|
600
|
-
|
601
525
|
var notHiddenIndexes = 0;
|
602
|
-
|
603
526
|
if (incrementBy < 0) {
|
604
527
|
// Zero-based numbering for renderable indexes corresponds to a number of not hidden indexes.
|
605
528
|
notHiddenIndexes = renderableIndex + 1;
|
606
529
|
} else if (incrementBy > 0) {
|
607
530
|
notHiddenIndexes = renderableIndexesCount - renderableIndex;
|
608
531
|
}
|
609
|
-
|
610
532
|
return notHiddenIndexes;
|
611
533
|
}
|
534
|
+
|
612
535
|
/**
|
613
536
|
* The function returns the number of not hidden column indexes that fit between the first and
|
614
537
|
* last fixed column in the left (or right in RTL mode) overlay.
|
615
538
|
*
|
616
539
|
* @returns {number}
|
617
540
|
*/
|
618
|
-
|
619
541
|
}, {
|
620
542
|
key: "countNotHiddenFixedColumnsStart",
|
621
543
|
value: function countNotHiddenFixedColumnsStart() {
|
@@ -623,13 +545,13 @@ var TableView = /*#__PURE__*/function () {
|
|
623
545
|
var visualFixedColumnsStart = Math.min(parseInt(this.settings.fixedColumnsStart, 10), countCols) - 1;
|
624
546
|
return this.countNotHiddenColumnIndexes(visualFixedColumnsStart, -1);
|
625
547
|
}
|
548
|
+
|
626
549
|
/**
|
627
550
|
* The function returns the number of not hidden row indexes that fit between the first and
|
628
551
|
* last fixed row in the top overlay.
|
629
552
|
*
|
630
553
|
* @returns {number}
|
631
554
|
*/
|
632
|
-
|
633
555
|
}, {
|
634
556
|
key: "countNotHiddenFixedRowsTop",
|
635
557
|
value: function countNotHiddenFixedRowsTop() {
|
@@ -637,13 +559,13 @@ var TableView = /*#__PURE__*/function () {
|
|
637
559
|
var visualFixedRowsTop = Math.min(parseInt(this.settings.fixedRowsTop, 10), countRows) - 1;
|
638
560
|
return this.countNotHiddenRowIndexes(visualFixedRowsTop, -1);
|
639
561
|
}
|
562
|
+
|
640
563
|
/**
|
641
564
|
* The function returns the number of not hidden row indexes that fit between the first and
|
642
565
|
* last fixed row in the bottom overlay.
|
643
566
|
*
|
644
567
|
* @returns {number}
|
645
568
|
*/
|
646
|
-
|
647
569
|
}, {
|
648
570
|
key: "countNotHiddenFixedRowsBottom",
|
649
571
|
value: function countNotHiddenFixedRowsBottom() {
|
@@ -651,13 +573,13 @@ var TableView = /*#__PURE__*/function () {
|
|
651
573
|
var visualFixedRowsBottom = Math.max(countRows - parseInt(this.settings.fixedRowsBottom, 10), 0);
|
652
574
|
return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
653
575
|
}
|
576
|
+
|
654
577
|
/**
|
655
578
|
* Checks if at least one cell than belongs to the main table is not covered by the top, left or
|
656
579
|
* bottom overlay.
|
657
580
|
*
|
658
581
|
* @returns {boolean}
|
659
582
|
*/
|
660
|
-
|
661
583
|
}, {
|
662
584
|
key: "isMainTableNotFullyCoveredByOverlays",
|
663
585
|
value: function isMainTableNotFullyCoveredByOverlays() {
|
@@ -665,17 +587,16 @@ var TableView = /*#__PURE__*/function () {
|
|
665
587
|
var fixedAllColumns = this.countNotHiddenFixedColumnsStart();
|
666
588
|
return this.instance.countRenderedRows() > fixedAllRows && this.instance.countRenderedCols() > fixedAllColumns;
|
667
589
|
}
|
590
|
+
|
668
591
|
/**
|
669
592
|
* Defines default configuration and initializes WalkOnTable instance.
|
670
593
|
*
|
671
594
|
* @private
|
672
595
|
*/
|
673
|
-
|
674
596
|
}, {
|
675
597
|
key: "initializeWalkontable",
|
676
598
|
value: function initializeWalkontable() {
|
677
599
|
var _this2 = this;
|
678
|
-
|
679
600
|
var priv = privatePool.get(this);
|
680
601
|
var walkontableConfig = {
|
681
602
|
rtlMode: this.instance.isRtl(),
|
@@ -695,7 +616,6 @@ var TableView = /*#__PURE__*/function () {
|
|
695
616
|
},
|
696
617
|
data: function data(renderableRow, renderableColumn) {
|
697
618
|
var _this2$instance;
|
698
|
-
|
699
619
|
return (_this2$instance = _this2.instance).getDataAtCell.apply(_this2$instance, _toConsumableArray(_this2.translateFromRenderableToVisualIndex(renderableRow, renderableColumn)));
|
700
620
|
},
|
701
621
|
totalRows: function totalRows() {
|
@@ -734,84 +654,65 @@ var TableView = /*#__PURE__*/function () {
|
|
734
654
|
renderAllRows: this.settings.renderAllRows,
|
735
655
|
rowHeaders: function rowHeaders() {
|
736
656
|
var headerRenderers = [];
|
737
|
-
|
738
657
|
if (_this2.instance.hasRowHeaders()) {
|
739
658
|
headerRenderers.push(function (renderableRowIndex, TH) {
|
740
659
|
// TODO: Some helper may be needed.
|
741
660
|
// We perform translation for row indexes (without row headers).
|
742
661
|
var visualRowIndex = renderableRowIndex >= 0 ? _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRowIndex) : renderableRowIndex;
|
743
|
-
|
744
662
|
_this2.appendRowHeader(visualRowIndex, TH);
|
745
663
|
});
|
746
664
|
}
|
747
|
-
|
748
665
|
_this2.instance.runHooks('afterGetRowHeaderRenderers', headerRenderers);
|
749
|
-
|
750
666
|
return headerRenderers;
|
751
667
|
},
|
752
668
|
columnHeaders: function columnHeaders() {
|
753
669
|
var headerRenderers = [];
|
754
|
-
|
755
670
|
if (_this2.instance.hasColHeaders()) {
|
756
671
|
headerRenderers.push(function (renderedColumnIndex, TH) {
|
757
672
|
// TODO: Some helper may be needed.
|
758
673
|
// We perform translation for columns indexes (without column headers).
|
759
674
|
var visualColumnsIndex = renderedColumnIndex >= 0 ? _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex) : renderedColumnIndex;
|
760
|
-
|
761
675
|
_this2.appendColHeader(visualColumnsIndex, TH);
|
762
676
|
});
|
763
677
|
}
|
764
|
-
|
765
678
|
_this2.instance.runHooks('afterGetColumnHeaderRenderers', headerRenderers);
|
766
|
-
|
767
679
|
return headerRenderers;
|
768
680
|
},
|
769
681
|
columnWidth: function columnWidth(renderedColumnIndex) {
|
770
|
-
var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
682
|
+
var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
683
|
+
|
684
|
+
// It's not a bug that we can't find visual index for some handled by method indexes. The function is called also
|
771
685
|
// for indexes that are not displayed (indexes that are beyond the grid's boundaries), i.e. when `fixedColumnsStart` > `startCols` (wrong config?) or
|
772
686
|
// scrolling and dataset is empty (scroll should handle that?).
|
773
|
-
|
774
|
-
|
775
687
|
return _this2.instance.getColWidth(visualIndex === null ? renderedColumnIndex : visualIndex);
|
776
688
|
},
|
777
689
|
rowHeight: function rowHeight(renderedRowIndex) {
|
778
690
|
var visualIndex = _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(renderedRowIndex);
|
779
|
-
|
780
691
|
return _this2.instance.getRowHeight(visualIndex === null ? renderedRowIndex : visualIndex);
|
781
692
|
},
|
782
693
|
cellRenderer: function cellRenderer(renderedRowIndex, renderedColumnIndex, TD) {
|
783
694
|
var _this2$translateFromR = _this2.translateFromRenderableToVisualIndex(renderedRowIndex, renderedColumnIndex),
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
695
|
+
_this2$translateFromR2 = _slicedToArray(_this2$translateFromR, 2),
|
696
|
+
visualRowIndex = _this2$translateFromR2[0],
|
697
|
+
visualColumnIndex = _this2$translateFromR2[1];
|
788
698
|
|
699
|
+
// Coords may be modified. For example, by the `MergeCells` plugin. It should affect cell value and cell meta.
|
789
700
|
var modifiedCellCoords = _this2.instance.runHooks('modifyGetCellCoords', visualRowIndex, visualColumnIndex);
|
790
|
-
|
791
701
|
var visualRowToCheck = visualRowIndex;
|
792
702
|
var visualColumnToCheck = visualColumnIndex;
|
793
|
-
|
794
703
|
if (Array.isArray(modifiedCellCoords)) {
|
795
704
|
var _modifiedCellCoords = _slicedToArray(modifiedCellCoords, 2);
|
796
|
-
|
797
705
|
visualRowToCheck = _modifiedCellCoords[0];
|
798
706
|
visualColumnToCheck = _modifiedCellCoords[1];
|
799
707
|
}
|
800
|
-
|
801
708
|
var cellProperties = _this2.instance.getCellMeta(visualRowToCheck, visualColumnToCheck);
|
802
|
-
|
803
709
|
var prop = _this2.instance.colToProp(visualColumnToCheck);
|
804
|
-
|
805
710
|
var value = _this2.instance.getDataAtRowProp(visualRowToCheck, prop);
|
806
|
-
|
807
711
|
if (_this2.instance.hasHook('beforeValueRender')) {
|
808
712
|
value = _this2.instance.runHooks('beforeValueRender', value, cellProperties);
|
809
713
|
}
|
810
|
-
|
811
714
|
_this2.instance.runHooks('beforeRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
812
|
-
|
813
715
|
_this2.instance.getCellRenderer(cellProperties)(_this2.instance, TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
814
|
-
|
815
716
|
_this2.instance.runHooks('afterRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
816
717
|
},
|
817
718
|
selections: this.instance.selection.highlight,
|
@@ -822,29 +723,22 @@ var TableView = /*#__PURE__*/function () {
|
|
822
723
|
if (!_this2.instance || _this2.instance.isDestroyed) {
|
823
724
|
return;
|
824
725
|
}
|
825
|
-
|
826
726
|
_this2.instance.refreshDimensions();
|
827
727
|
},
|
828
728
|
onCellMouseDown: function onCellMouseDown(event, coords, TD, wt) {
|
829
729
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
830
|
-
|
831
730
|
var controller = {
|
832
731
|
row: false,
|
833
732
|
column: false,
|
834
733
|
cell: false
|
835
734
|
};
|
836
|
-
|
837
735
|
_this2.instance.listen();
|
838
|
-
|
839
736
|
_this2.activeWt = wt;
|
840
737
|
priv.mouseDown = true;
|
841
|
-
|
842
738
|
_this2.instance.runHooks('beforeOnCellMouseDown', event, visualCoords, TD, controller);
|
843
|
-
|
844
739
|
if ((0, _event.isImmediatePropagationStopped)(event)) {
|
845
740
|
return;
|
846
741
|
}
|
847
|
-
|
848
742
|
(0, _mouseEventHandler.handleMouseEvent)(event, {
|
849
743
|
coords: visualCoords,
|
850
744
|
selection: _this2.instance.selection,
|
@@ -853,62 +747,45 @@ var TableView = /*#__PURE__*/function () {
|
|
853
747
|
return _this2.instance._createCellCoords(row, column);
|
854
748
|
}
|
855
749
|
});
|
856
|
-
|
857
750
|
_this2.instance.runHooks('afterOnCellMouseDown', event, visualCoords, TD);
|
858
|
-
|
859
751
|
_this2.activeWt = _this2._wt;
|
860
752
|
},
|
861
753
|
onCellContextMenu: function onCellContextMenu(event, coords, TD, wt) {
|
862
754
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
863
|
-
|
864
755
|
_this2.activeWt = wt;
|
865
756
|
priv.mouseDown = false;
|
866
|
-
|
867
757
|
if (_this2.instance.selection.isInProgress()) {
|
868
758
|
_this2.instance.selection.finish();
|
869
759
|
}
|
870
|
-
|
871
760
|
_this2.instance.runHooks('beforeOnCellContextMenu', event, visualCoords, TD);
|
872
|
-
|
873
761
|
if ((0, _event.isImmediatePropagationStopped)(event)) {
|
874
762
|
return;
|
875
763
|
}
|
876
|
-
|
877
764
|
_this2.instance.runHooks('afterOnCellContextMenu', event, visualCoords, TD);
|
878
|
-
|
879
765
|
_this2.activeWt = _this2._wt;
|
880
766
|
},
|
881
767
|
onCellMouseOut: function onCellMouseOut(event, coords, TD, wt) {
|
882
768
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
883
|
-
|
884
769
|
_this2.activeWt = wt;
|
885
|
-
|
886
770
|
_this2.instance.runHooks('beforeOnCellMouseOut', event, visualCoords, TD);
|
887
|
-
|
888
771
|
if ((0, _event.isImmediatePropagationStopped)(event)) {
|
889
772
|
return;
|
890
773
|
}
|
891
|
-
|
892
774
|
_this2.instance.runHooks('afterOnCellMouseOut', event, visualCoords, TD);
|
893
|
-
|
894
775
|
_this2.activeWt = _this2._wt;
|
895
776
|
},
|
896
777
|
onCellMouseOver: function onCellMouseOver(event, coords, TD, wt) {
|
897
778
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
898
|
-
|
899
779
|
var controller = {
|
900
780
|
row: false,
|
901
781
|
column: false,
|
902
782
|
cell: false
|
903
783
|
};
|
904
784
|
_this2.activeWt = wt;
|
905
|
-
|
906
785
|
_this2.instance.runHooks('beforeOnCellMouseOver', event, visualCoords, TD, controller);
|
907
|
-
|
908
786
|
if ((0, _event.isImmediatePropagationStopped)(event)) {
|
909
787
|
return;
|
910
788
|
}
|
911
|
-
|
912
789
|
if (priv.mouseDown) {
|
913
790
|
(0, _mouseEventHandler.handleMouseEvent)(event, {
|
914
791
|
coords: visualCoords,
|
@@ -919,38 +796,30 @@ var TableView = /*#__PURE__*/function () {
|
|
919
796
|
}
|
920
797
|
});
|
921
798
|
}
|
922
|
-
|
923
799
|
_this2.instance.runHooks('afterOnCellMouseOver', event, visualCoords, TD);
|
924
|
-
|
925
800
|
_this2.activeWt = _this2._wt;
|
926
801
|
},
|
927
802
|
onCellMouseUp: function onCellMouseUp(event, coords, TD, wt) {
|
928
803
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
929
|
-
|
930
804
|
_this2.activeWt = wt;
|
805
|
+
_this2.instance.runHooks('beforeOnCellMouseUp', event, visualCoords, TD);
|
931
806
|
|
932
|
-
|
807
|
+
// TODO: The second condition check is a workaround. Callback corresponding the method `updateSettings`
|
933
808
|
// disable plugin and enable it again. Disabling plugin closes the menu. Thus, calling the
|
934
809
|
// `updateSettings` in a body of any callback executed right after some context-menu action
|
935
810
|
// breaks the table (#7231).
|
936
|
-
|
937
|
-
|
938
811
|
if ((0, _event.isImmediatePropagationStopped)(event) || _this2.instance.isDestroyed) {
|
939
812
|
return;
|
940
813
|
}
|
941
|
-
|
942
814
|
_this2.instance.runHooks('afterOnCellMouseUp', event, visualCoords, TD);
|
943
|
-
|
944
815
|
_this2.activeWt = _this2._wt;
|
945
816
|
},
|
946
817
|
onCellCornerMouseDown: function onCellCornerMouseDown(event) {
|
947
818
|
event.preventDefault();
|
948
|
-
|
949
819
|
_this2.instance.runHooks('afterOnCellCornerMouseDown', event);
|
950
820
|
},
|
951
821
|
onCellCornerDblClick: function onCellCornerDblClick(event) {
|
952
822
|
event.preventDefault();
|
953
|
-
|
954
823
|
_this2.instance.runHooks('afterOnCellCornerDblClick', event);
|
955
824
|
},
|
956
825
|
beforeDraw: function beforeDraw(force, skipRender) {
|
@@ -971,31 +840,23 @@ var TableView = /*#__PURE__*/function () {
|
|
971
840
|
onBeforeHighlightingRowHeader: function onBeforeHighlightingRowHeader(renderableRow, headerLevel, highlightMeta) {
|
972
841
|
var rowMapper = _this2.instance.rowIndexMapper;
|
973
842
|
var visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
|
974
|
-
|
975
843
|
var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
|
976
|
-
|
977
844
|
return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
|
978
845
|
},
|
979
846
|
onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
|
980
847
|
var columnMapper = _this2.instance.columnIndexMapper;
|
981
848
|
var visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
|
982
|
-
|
983
849
|
var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
|
984
|
-
|
985
850
|
return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
|
986
851
|
},
|
987
852
|
onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
|
988
853
|
var cornersOfSelection;
|
989
|
-
|
990
854
|
var _this2$translateFromR3 = _this2.translateFromRenderableToVisualIndex(currentRow, currentColumn),
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
855
|
+
_this2$translateFromR4 = _slicedToArray(_this2$translateFromR3, 2),
|
856
|
+
visualRowIndex = _this2$translateFromR4[0],
|
857
|
+
visualColumnIndex = _this2$translateFromR4[1];
|
995
858
|
var selectedRange = _this2.instance.selection.getSelectedRange();
|
996
|
-
|
997
859
|
var selectionRangeSize = selectedRange.size();
|
998
|
-
|
999
860
|
if (selectionRangeSize > 0) {
|
1000
861
|
// Selection layers are stored from the "oldest" to the "newest". We should calculate the offset.
|
1001
862
|
// Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
|
@@ -1003,16 +864,14 @@ var TableView = /*#__PURE__*/function () {
|
|
1003
864
|
var selectionForLayer = selectedRange.peekByIndex(selectionOffset);
|
1004
865
|
cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
|
1005
866
|
}
|
1006
|
-
|
1007
867
|
return _this2.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
|
1008
868
|
},
|
1009
869
|
onBeforeDrawBorders: function onBeforeDrawBorders(corners, borderClassName) {
|
1010
870
|
var _corners = _slicedToArray(corners, 4),
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
871
|
+
startRenderableRow = _corners[0],
|
872
|
+
startRenderableColumn = _corners[1],
|
873
|
+
endRenderableRow = _corners[2],
|
874
|
+
endRenderableColumn = _corners[3];
|
1016
875
|
var visualCorners = [_this2.instance.rowIndexMapper.getVisualFromRenderableIndex(startRenderableRow), _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(startRenderableColumn), _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(endRenderableRow), _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(endRenderableColumn)];
|
1017
876
|
return _this2.instance.runHooks('beforeDrawBorders', visualCorners, borderClassName);
|
1018
877
|
},
|
@@ -1024,7 +883,6 @@ var TableView = /*#__PURE__*/function () {
|
|
1024
883
|
},
|
1025
884
|
onBeforeStretchingColumnWidth: function onBeforeStretchingColumnWidth(stretchedWidth, renderedColumnIndex) {
|
1026
885
|
var visualColumnIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
1027
|
-
|
1028
886
|
return _this2.instance.runHooks('beforeStretchingColumnWidth', stretchedWidth, visualColumnIndex);
|
1029
887
|
},
|
1030
888
|
onModifyRowHeaderWidth: function onModifyRowHeaderWidth(rowHeaderWidth) {
|
@@ -1032,37 +890,32 @@ var TableView = /*#__PURE__*/function () {
|
|
1032
890
|
},
|
1033
891
|
onModifyGetCellCoords: function onModifyGetCellCoords(renderableRowIndex, renderableColumnIndex, topmost) {
|
1034
892
|
var rowMapper = _this2.instance.rowIndexMapper;
|
1035
|
-
var columnMapper = _this2.instance.columnIndexMapper;
|
893
|
+
var columnMapper = _this2.instance.columnIndexMapper;
|
1036
894
|
|
895
|
+
// Callback handle also headers. We shouldn't translate them.
|
1037
896
|
var visualColumnIndex = renderableColumnIndex >= 0 ? columnMapper.getVisualFromRenderableIndex(renderableColumnIndex) : renderableColumnIndex;
|
1038
897
|
var visualRowIndex = renderableRowIndex >= 0 ? rowMapper.getVisualFromRenderableIndex(renderableRowIndex) : renderableRowIndex;
|
1039
|
-
|
1040
898
|
var visualIndexes = _this2.instance.runHooks('modifyGetCellCoords', visualRowIndex, visualColumnIndex, topmost);
|
1041
|
-
|
1042
899
|
if (Array.isArray(visualIndexes)) {
|
1043
900
|
var _visualIndexes = _slicedToArray(visualIndexes, 4),
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
901
|
+
visualRowFrom = _visualIndexes[0],
|
902
|
+
visualColumnFrom = _visualIndexes[1],
|
903
|
+
visualRowTo = _visualIndexes[2],
|
904
|
+
visualColumnTo = _visualIndexes[3];
|
1049
905
|
|
906
|
+
// Result of the hook is handled by the Walkontable (renderable indexes).
|
1050
907
|
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowFrom, 1)) : visualRowFrom, visualColumnFrom >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnFrom, 1)) : visualColumnFrom, visualRowTo >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowTo, -1)) : visualRowTo, visualColumnTo >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnTo, -1)) : visualColumnTo];
|
1051
908
|
}
|
1052
909
|
},
|
1053
910
|
viewportRowCalculatorOverride: function viewportRowCalculatorOverride(calc) {
|
1054
911
|
var viewportOffset = _this2.settings.viewportRowRenderingOffset;
|
1055
|
-
|
1056
912
|
if (viewportOffset === 'auto' && _this2.settings.fixedRowsTop) {
|
1057
913
|
viewportOffset = 10;
|
1058
914
|
}
|
1059
|
-
|
1060
915
|
if (viewportOffset > 0 || viewportOffset === 'auto') {
|
1061
916
|
var renderableRows = _this2.countRenderableRows();
|
1062
|
-
|
1063
917
|
var firstRenderedRow = calc.startRow;
|
1064
918
|
var lastRenderedRow = calc.endRow;
|
1065
|
-
|
1066
919
|
if (typeof viewportOffset === 'number') {
|
1067
920
|
calc.startRow = Math.max(firstRenderedRow - viewportOffset, 0);
|
1068
921
|
calc.endRow = Math.min(lastRenderedRow + viewportOffset, renderableRows - 1);
|
@@ -1072,34 +925,27 @@ var TableView = /*#__PURE__*/function () {
|
|
1072
925
|
calc.endRow = Math.min(lastRenderedRow + offset, renderableRows - 1);
|
1073
926
|
}
|
1074
927
|
}
|
1075
|
-
|
1076
928
|
_this2.instance.runHooks('afterViewportRowCalculatorOverride', calc);
|
1077
929
|
},
|
1078
930
|
viewportColumnCalculatorOverride: function viewportColumnCalculatorOverride(calc) {
|
1079
931
|
var viewportOffset = _this2.settings.viewportColumnRenderingOffset;
|
1080
|
-
|
1081
932
|
if (viewportOffset === 'auto' && _this2.settings.fixedColumnsStart) {
|
1082
933
|
viewportOffset = 10;
|
1083
934
|
}
|
1084
|
-
|
1085
935
|
if (viewportOffset > 0 || viewportOffset === 'auto') {
|
1086
936
|
var renderableColumns = _this2.countRenderableColumns();
|
1087
|
-
|
1088
937
|
var firstRenderedColumn = calc.startColumn;
|
1089
938
|
var lastRenderedColumn = calc.endColumn;
|
1090
|
-
|
1091
939
|
if (typeof viewportOffset === 'number') {
|
1092
940
|
calc.startColumn = Math.max(firstRenderedColumn - viewportOffset, 0);
|
1093
941
|
calc.endColumn = Math.min(lastRenderedColumn + viewportOffset, renderableColumns - 1);
|
1094
942
|
}
|
1095
|
-
|
1096
943
|
if (viewportOffset === 'auto') {
|
1097
944
|
var offset = Math.ceil(lastRenderedColumn / renderableColumns * 6);
|
1098
945
|
calc.startColumn = Math.max(firstRenderedColumn - offset, 0);
|
1099
946
|
calc.endColumn = Math.min(lastRenderedColumn + offset, renderableColumns - 1);
|
1100
947
|
}
|
1101
948
|
}
|
1102
|
-
|
1103
949
|
_this2.instance.runHooks('afterViewportColumnCalculatorOverride', calc);
|
1104
950
|
},
|
1105
951
|
rowHeaderWidth: function rowHeaderWidth() {
|
@@ -1107,19 +953,17 @@ var TableView = /*#__PURE__*/function () {
|
|
1107
953
|
},
|
1108
954
|
columnHeaderHeight: function columnHeaderHeight() {
|
1109
955
|
var columnHeaderHeight = _this2.instance.runHooks('modifyColumnHeaderHeight');
|
1110
|
-
|
1111
956
|
return _this2.settings.columnHeaderHeight || columnHeaderHeight;
|
1112
957
|
}
|
1113
958
|
};
|
1114
959
|
this.instance.runHooks('beforeInitWalkontable', walkontableConfig);
|
1115
960
|
this._wt = new _src.default(walkontableConfig);
|
1116
961
|
this.activeWt = this._wt;
|
1117
|
-
var spreader = this._wt.wtTable.spreader;
|
1118
|
-
|
962
|
+
var spreader = this._wt.wtTable.spreader;
|
963
|
+
// We have to cache width and height after Walkontable initialization.
|
1119
964
|
var _this$instance$rootEl = this.instance.rootElement.getBoundingClientRect(),
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
965
|
+
width = _this$instance$rootEl.width,
|
966
|
+
height = _this$instance$rootEl.height;
|
1123
967
|
this.setLastSize(width, height);
|
1124
968
|
this.eventManager.addEventListener(spreader, 'mousedown', function (event) {
|
1125
969
|
// right mouse button exactly on spreader means right click on the right hand side of vertical scrollbar
|
@@ -1137,12 +981,12 @@ var TableView = /*#__PURE__*/function () {
|
|
1137
981
|
if (_this2.settings.observeDOMVisibility) {
|
1138
982
|
if (_this2._wt.drawInterrupted) {
|
1139
983
|
_this2.instance.forceFullRender = true;
|
1140
|
-
|
1141
984
|
_this2.render();
|
1142
985
|
}
|
1143
986
|
}
|
1144
987
|
});
|
1145
988
|
}
|
989
|
+
|
1146
990
|
/**
|
1147
991
|
* Checks if it's possible to create text selection in element.
|
1148
992
|
*
|
@@ -1150,69 +994,63 @@ var TableView = /*#__PURE__*/function () {
|
|
1150
994
|
* @param {HTMLElement} el The element to check.
|
1151
995
|
* @returns {boolean}
|
1152
996
|
*/
|
1153
|
-
|
1154
997
|
}, {
|
1155
998
|
key: "isTextSelectionAllowed",
|
1156
999
|
value: function isTextSelectionAllowed(el) {
|
1157
1000
|
if ((0, _element.isInput)(el)) {
|
1158
1001
|
return true;
|
1159
1002
|
}
|
1160
|
-
|
1161
1003
|
var isChildOfTableBody = (0, _element.isChildOf)(el, this.instance.view._wt.wtTable.spreader);
|
1162
|
-
|
1163
1004
|
if (this.settings.fragmentSelection === true && isChildOfTableBody) {
|
1164
1005
|
return true;
|
1165
1006
|
}
|
1166
|
-
|
1167
1007
|
if (this.settings.fragmentSelection === 'cell' && this.isSelectedOnlyCell() && isChildOfTableBody) {
|
1168
1008
|
return true;
|
1169
1009
|
}
|
1170
|
-
|
1171
1010
|
if (!this.settings.fragmentSelection && this.isCellEdited() && this.isSelectedOnlyCell()) {
|
1172
1011
|
return true;
|
1173
1012
|
}
|
1174
|
-
|
1175
1013
|
return false;
|
1176
1014
|
}
|
1015
|
+
|
1177
1016
|
/**
|
1178
1017
|
* Checks if user's been called mousedown.
|
1179
1018
|
*
|
1180
1019
|
* @private
|
1181
1020
|
* @returns {boolean}
|
1182
1021
|
*/
|
1183
|
-
|
1184
1022
|
}, {
|
1185
1023
|
key: "isMouseDown",
|
1186
1024
|
value: function isMouseDown() {
|
1187
1025
|
return privatePool.get(this).mouseDown;
|
1188
1026
|
}
|
1027
|
+
|
1189
1028
|
/**
|
1190
1029
|
* Check if selected only one cell.
|
1191
1030
|
*
|
1192
1031
|
* @private
|
1193
1032
|
* @returns {boolean}
|
1194
1033
|
*/
|
1195
|
-
|
1196
1034
|
}, {
|
1197
1035
|
key: "isSelectedOnlyCell",
|
1198
1036
|
value: function isSelectedOnlyCell() {
|
1199
1037
|
var _this$instance$getSel, _this$instance$getSel2;
|
1200
|
-
|
1201
1038
|
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingle()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
|
1202
1039
|
}
|
1040
|
+
|
1203
1041
|
/**
|
1204
1042
|
* Checks if active cell is editing.
|
1205
1043
|
*
|
1206
1044
|
* @private
|
1207
1045
|
* @returns {boolean}
|
1208
1046
|
*/
|
1209
|
-
|
1210
1047
|
}, {
|
1211
1048
|
key: "isCellEdited",
|
1212
1049
|
value: function isCellEdited() {
|
1213
1050
|
var activeEditor = this.instance.getActiveEditor();
|
1214
1051
|
return activeEditor && activeEditor.isOpened();
|
1215
1052
|
}
|
1053
|
+
|
1216
1054
|
/**
|
1217
1055
|
* `beforeDraw` callback.
|
1218
1056
|
*
|
@@ -1222,7 +1060,6 @@ var TableView = /*#__PURE__*/function () {
|
|
1222
1060
|
* @param {object} skipRender Object with `skipRender` property, if it is set to `true ` the next rendering
|
1223
1061
|
* cycle will be skipped.
|
1224
1062
|
*/
|
1225
|
-
|
1226
1063
|
}, {
|
1227
1064
|
key: "beforeRender",
|
1228
1065
|
value: function beforeRender(force, skipRender) {
|
@@ -1231,6 +1068,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1231
1068
|
this.instance.runHooks('beforeViewRender', this.instance.forceFullRender, skipRender);
|
1232
1069
|
}
|
1233
1070
|
}
|
1071
|
+
|
1234
1072
|
/**
|
1235
1073
|
* `afterRender` callback.
|
1236
1074
|
*
|
@@ -1238,7 +1076,6 @@ var TableView = /*#__PURE__*/function () {
|
|
1238
1076
|
* @param {boolean} force If `true` rendering was triggered by a change of settings or data or `false` if
|
1239
1077
|
* rendering was triggered by scrolling or moving selection.
|
1240
1078
|
*/
|
1241
|
-
|
1242
1079
|
}, {
|
1243
1080
|
key: "afterRender",
|
1244
1081
|
value: function afterRender(force) {
|
@@ -1247,6 +1084,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1247
1084
|
this.instance.runHooks('afterViewRender', this.instance.forceFullRender);
|
1248
1085
|
}
|
1249
1086
|
}
|
1087
|
+
|
1250
1088
|
/**
|
1251
1089
|
* Append row header to a TH element.
|
1252
1090
|
*
|
@@ -1254,24 +1092,21 @@ var TableView = /*#__PURE__*/function () {
|
|
1254
1092
|
* @param {number} visualRowIndex The visual row index.
|
1255
1093
|
* @param {HTMLTableHeaderCellElement} TH The table header element.
|
1256
1094
|
*/
|
1257
|
-
|
1258
1095
|
}, {
|
1259
1096
|
key: "appendRowHeader",
|
1260
1097
|
value: function appendRowHeader(visualRowIndex, TH) {
|
1261
1098
|
if (TH.firstChild) {
|
1262
1099
|
var container = TH.firstChild;
|
1263
|
-
|
1264
1100
|
if (!(0, _element.hasClass)(container, 'relative')) {
|
1265
1101
|
(0, _element.empty)(TH);
|
1266
1102
|
this.appendRowHeader(visualRowIndex, TH);
|
1267
1103
|
return;
|
1268
1104
|
}
|
1269
|
-
|
1270
1105
|
this.updateCellHeader(container.querySelector('.rowHeader'), visualRowIndex, this.instance.getRowHeader);
|
1271
1106
|
} else {
|
1272
1107
|
var _this$instance4 = this.instance,
|
1273
|
-
|
1274
|
-
|
1108
|
+
rootDocument = _this$instance4.rootDocument,
|
1109
|
+
getRowHeader = _this$instance4.getRowHeader;
|
1275
1110
|
var div = rootDocument.createElement('div');
|
1276
1111
|
var span = rootDocument.createElement('span');
|
1277
1112
|
div.className = 'relative';
|
@@ -1280,28 +1115,31 @@ var TableView = /*#__PURE__*/function () {
|
|
1280
1115
|
div.appendChild(span);
|
1281
1116
|
TH.appendChild(div);
|
1282
1117
|
}
|
1283
|
-
|
1284
1118
|
this.instance.runHooks('afterGetRowHeader', visualRowIndex, TH);
|
1285
1119
|
}
|
1120
|
+
|
1286
1121
|
/**
|
1287
1122
|
* Append column header to a TH element.
|
1288
1123
|
*
|
1289
1124
|
* @private
|
1290
1125
|
* @param {number} visualColumnIndex Visual column index.
|
1291
|
-
* @param {
|
1126
|
+
* @param {HTMLTableCellElement} TH The table header element.
|
1127
|
+
* @param {Function} label The function that returns the header label.
|
1128
|
+
* @param {number} [headerLevel=0] The index of header level counting from the top (positive
|
1129
|
+
* values counting from 0 to N).
|
1292
1130
|
*/
|
1293
|
-
|
1294
1131
|
}, {
|
1295
1132
|
key: "appendColHeader",
|
1296
1133
|
value: function appendColHeader(visualColumnIndex, TH) {
|
1134
|
+
var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.instance.getColHeader;
|
1135
|
+
var headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
1297
1136
|
if (TH.firstChild) {
|
1298
1137
|
var container = TH.firstChild;
|
1299
|
-
|
1300
1138
|
if ((0, _element.hasClass)(container, 'relative')) {
|
1301
|
-
this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex,
|
1139
|
+
this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, label);
|
1302
1140
|
} else {
|
1303
1141
|
(0, _element.empty)(TH);
|
1304
|
-
this.appendColHeader(visualColumnIndex, TH);
|
1142
|
+
this.appendColHeader(visualColumnIndex, TH, headerLevel);
|
1305
1143
|
}
|
1306
1144
|
} else {
|
1307
1145
|
var rootDocument = this.instance.rootDocument;
|
@@ -1309,13 +1147,13 @@ var TableView = /*#__PURE__*/function () {
|
|
1309
1147
|
var span = rootDocument.createElement('span');
|
1310
1148
|
div.className = 'relative';
|
1311
1149
|
span.className = 'colHeader';
|
1312
|
-
this.updateCellHeader(span, visualColumnIndex,
|
1150
|
+
this.updateCellHeader(span, visualColumnIndex, label);
|
1313
1151
|
div.appendChild(span);
|
1314
1152
|
TH.appendChild(div);
|
1315
1153
|
}
|
1316
|
-
|
1317
|
-
this.instance.runHooks('afterGetColHeader', visualColumnIndex, TH);
|
1154
|
+
this.instance.runHooks('afterGetColHeader', visualColumnIndex, TH, headerLevel);
|
1318
1155
|
}
|
1156
|
+
|
1319
1157
|
/**
|
1320
1158
|
* Updates header cell content.
|
1321
1159
|
*
|
@@ -1324,15 +1162,13 @@ var TableView = /*#__PURE__*/function () {
|
|
1324
1162
|
* @param {number} index Row index or column index.
|
1325
1163
|
* @param {Function} content Function which should be returns content for this cell.
|
1326
1164
|
*/
|
1327
|
-
|
1328
1165
|
}, {
|
1329
1166
|
key: "updateCellHeader",
|
1330
1167
|
value: function updateCellHeader(element, index, content) {
|
1331
1168
|
var renderedIndex = index;
|
1169
|
+
var parentOverlay = this._wt.wtOverlays.getParentOverlay(element) || this._wt;
|
1332
1170
|
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1171
|
+
// prevent wrong calculations from SampleGenerator
|
1336
1172
|
if (element.parentNode) {
|
1337
1173
|
if ((0, _element.hasClass)(element, 'colHeader')) {
|
1338
1174
|
renderedIndex = parentOverlay.wtTable.columnFilter.sourceToRendered(index);
|
@@ -1340,7 +1176,6 @@ var TableView = /*#__PURE__*/function () {
|
|
1340
1176
|
renderedIndex = parentOverlay.wtTable.rowFilter.sourceToRendered(index);
|
1341
1177
|
}
|
1342
1178
|
}
|
1343
|
-
|
1344
1179
|
if (renderedIndex > -1) {
|
1345
1180
|
(0, _element.fastInnerHTML)(element, content(index));
|
1346
1181
|
} else {
|
@@ -1349,6 +1184,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1349
1184
|
(0, _element.addClass)(element, 'cornerHeader');
|
1350
1185
|
}
|
1351
1186
|
}
|
1187
|
+
|
1352
1188
|
/**
|
1353
1189
|
* Given a element's left (or right in RTL mode) position relative to the viewport, returns maximum
|
1354
1190
|
* element width until the right (or left) edge of the viewport (before scrollbar).
|
@@ -1357,15 +1193,14 @@ var TableView = /*#__PURE__*/function () {
|
|
1357
1193
|
* @param {number} inlineOffset The left (or right in RTL mode) offset.
|
1358
1194
|
* @returns {number}
|
1359
1195
|
*/
|
1360
|
-
|
1361
1196
|
}, {
|
1362
1197
|
key: "maximumVisibleElementWidth",
|
1363
1198
|
value: function maximumVisibleElementWidth(inlineOffset) {
|
1364
1199
|
var workspaceWidth = this._wt.wtViewport.getWorkspaceWidth();
|
1365
|
-
|
1366
1200
|
var maxWidth = workspaceWidth - inlineOffset;
|
1367
1201
|
return maxWidth > 0 ? maxWidth : 0;
|
1368
1202
|
}
|
1203
|
+
|
1369
1204
|
/**
|
1370
1205
|
* Given a element's top position relative to the viewport, returns maximum element height until the bottom
|
1371
1206
|
* edge of the viewport (before scrollbar).
|
@@ -1374,22 +1209,20 @@ var TableView = /*#__PURE__*/function () {
|
|
1374
1209
|
* @param {number} topOffset The top offset.
|
1375
1210
|
* @returns {number}
|
1376
1211
|
*/
|
1377
|
-
|
1378
1212
|
}, {
|
1379
1213
|
key: "maximumVisibleElementHeight",
|
1380
1214
|
value: function maximumVisibleElementHeight(topOffset) {
|
1381
1215
|
var workspaceHeight = this._wt.wtViewport.getWorkspaceHeight();
|
1382
|
-
|
1383
1216
|
var maxHeight = workspaceHeight - topOffset;
|
1384
1217
|
return maxHeight > 0 ? maxHeight : 0;
|
1385
1218
|
}
|
1219
|
+
|
1386
1220
|
/**
|
1387
1221
|
* Sets new dimensions of the container.
|
1388
1222
|
*
|
1389
1223
|
* @param {number} width The table width.
|
1390
1224
|
* @param {number} height The table height.
|
1391
1225
|
*/
|
1392
|
-
|
1393
1226
|
}, {
|
1394
1227
|
key: "setLastSize",
|
1395
1228
|
value: function setLastSize(width, height) {
|
@@ -1398,12 +1231,12 @@ var TableView = /*#__PURE__*/function () {
|
|
1398
1231
|
priv.lastWidth = _ref2[0];
|
1399
1232
|
priv.lastHeight = _ref2[1];
|
1400
1233
|
}
|
1234
|
+
|
1401
1235
|
/**
|
1402
1236
|
* Returns cached dimensions.
|
1403
1237
|
*
|
1404
1238
|
* @returns {object}
|
1405
1239
|
*/
|
1406
|
-
|
1407
1240
|
}, {
|
1408
1241
|
key: "getLastSize",
|
1409
1242
|
value: function getLastSize() {
|
@@ -1413,67 +1246,64 @@ var TableView = /*#__PURE__*/function () {
|
|
1413
1246
|
height: priv.lastHeight
|
1414
1247
|
};
|
1415
1248
|
}
|
1249
|
+
|
1416
1250
|
/**
|
1417
1251
|
* Returns the first fully visible row in the table viewport.
|
1418
1252
|
*
|
1419
1253
|
* @returns {number}
|
1420
1254
|
*/
|
1421
|
-
|
1422
1255
|
}, {
|
1423
1256
|
key: "getFirstFullyVisibleRow",
|
1424
1257
|
value: function getFirstFullyVisibleRow() {
|
1425
1258
|
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleRow());
|
1426
1259
|
}
|
1260
|
+
|
1427
1261
|
/**
|
1428
1262
|
* Returns the last fully visible row in the table viewport.
|
1429
1263
|
*
|
1430
1264
|
* @returns {number}
|
1431
1265
|
*/
|
1432
|
-
|
1433
1266
|
}, {
|
1434
1267
|
key: "getLastFullyVisibleRow",
|
1435
1268
|
value: function getLastFullyVisibleRow() {
|
1436
1269
|
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleRow());
|
1437
1270
|
}
|
1271
|
+
|
1438
1272
|
/**
|
1439
1273
|
* Returns the first fully visible column in the table viewport.
|
1440
1274
|
*
|
1441
1275
|
* @returns {number}
|
1442
1276
|
*/
|
1443
|
-
|
1444
1277
|
}, {
|
1445
1278
|
key: "getFirstFullyVisibleColumn",
|
1446
1279
|
value: function getFirstFullyVisibleColumn() {
|
1447
1280
|
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleColumn());
|
1448
1281
|
}
|
1282
|
+
|
1449
1283
|
/**
|
1450
1284
|
* Returns the last fully visible column in the table viewport.
|
1451
1285
|
*
|
1452
1286
|
* @returns {number}
|
1453
1287
|
*/
|
1454
|
-
|
1455
1288
|
}, {
|
1456
1289
|
key: "getLastFullyVisibleColumn",
|
1457
1290
|
value: function getLastFullyVisibleColumn() {
|
1458
1291
|
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleColumn());
|
1459
1292
|
}
|
1293
|
+
|
1460
1294
|
/**
|
1461
1295
|
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
1462
1296
|
*
|
1463
1297
|
* @private
|
1464
1298
|
*/
|
1465
|
-
|
1466
1299
|
}, {
|
1467
1300
|
key: "destroy",
|
1468
1301
|
value: function destroy() {
|
1469
1302
|
this._wt.destroy();
|
1470
|
-
|
1471
1303
|
this.eventManager.destroy();
|
1472
1304
|
}
|
1473
1305
|
}]);
|
1474
|
-
|
1475
1306
|
return TableView;
|
1476
1307
|
}();
|
1477
|
-
|
1478
1308
|
var _default = TableView;
|
1479
1309
|
exports.default = _default;
|