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