handsontable 11.1.0 → 12.1.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/walkontable/src/border.js +120 -98
- package/3rdparty/walkontable/src/border.mjs +120 -94
- package/3rdparty/walkontable/src/cell/coords.js +59 -17
- package/3rdparty/walkontable/src/cell/coords.mjs +55 -17
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
- package/3rdparty/walkontable/src/cell/range.js +278 -99
- package/3rdparty/walkontable/src/cell/range.mjs +273 -99
- package/3rdparty/walkontable/src/core/_base.js +452 -0
- package/3rdparty/walkontable/src/core/_base.mjs +440 -0
- package/3rdparty/walkontable/src/core/clone.js +97 -0
- package/3rdparty/walkontable/src/core/clone.mjs +80 -0
- package/3rdparty/walkontable/src/core/core.js +183 -0
- package/3rdparty/walkontable/src/core/core.mjs +160 -0
- package/3rdparty/walkontable/src/event.js +99 -66
- package/3rdparty/walkontable/src/event.mjs +99 -63
- package/3rdparty/walkontable/src/facade/core.js +251 -0
- package/3rdparty/walkontable/src/facade/core.mjs +243 -0
- package/3rdparty/walkontable/src/index.js +2 -46
- package/3rdparty/walkontable/src/index.mjs +3 -13
- package/3rdparty/walkontable/src/overlay/_base.js +124 -57
- package/3rdparty/walkontable/src/overlay/_base.mjs +124 -57
- package/3rdparty/walkontable/src/overlay/bottom.js +96 -80
- package/3rdparty/walkontable/src/overlay/bottom.mjs +96 -80
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +45 -62
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +44 -61
- package/3rdparty/walkontable/src/overlay/constants.js +25 -9
- package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
- package/3rdparty/walkontable/src/overlay/index.js +10 -19
- package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
- package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +113 -82
- package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +112 -81
- package/3rdparty/walkontable/src/overlay/top.js +93 -68
- package/3rdparty/walkontable/src/overlay/top.mjs +93 -68
- package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
- package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
- package/3rdparty/walkontable/src/overlays.js +225 -156
- package/3rdparty/walkontable/src/overlays.mjs +224 -154
- package/3rdparty/walkontable/src/renderer/cells.js +4 -3
- package/3rdparty/walkontable/src/renderer/cells.mjs +4 -3
- package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rows.js +2 -2
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/3rdparty/walkontable/src/scroll.js +125 -104
- package/3rdparty/walkontable/src/scroll.mjs +124 -104
- package/3rdparty/walkontable/src/selection.js +10 -14
- package/3rdparty/walkontable/src/selection.mjs +10 -12
- package/3rdparty/walkontable/src/settings.js +235 -126
- package/3rdparty/walkontable/src/settings.mjs +235 -125
- package/3rdparty/walkontable/src/table/bottom.js +16 -5
- package/3rdparty/walkontable/src/table/bottom.mjs +15 -5
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +27 -15
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +26 -15
- package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +23 -15
- package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +22 -15
- package/3rdparty/walkontable/src/table/master.js +22 -12
- package/3rdparty/walkontable/src/table/master.mjs +22 -12
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
- package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
- package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
- package/3rdparty/walkontable/src/table/top.js +16 -5
- package/3rdparty/walkontable/src/table/top.mjs +15 -5
- package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +27 -15
- package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +26 -15
- package/3rdparty/walkontable/src/table.js +235 -140
- package/3rdparty/walkontable/src/table.mjs +231 -134
- package/3rdparty/walkontable/src/types.js +103 -0
- package/3rdparty/walkontable/src/types.mjs +102 -0
- package/3rdparty/walkontable/src/utils/column.js +22 -33
- package/3rdparty/walkontable/src/utils/column.mjs +22 -30
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/3rdparty/walkontable/src/utils/row.js +9 -4
- package/3rdparty/walkontable/src/utils/row.mjs +9 -4
- package/3rdparty/walkontable/src/viewport.js +89 -100
- package/3rdparty/walkontable/src/viewport.mjs +89 -97
- package/CHANGELOG.md +92 -0
- package/LICENSE.txt +1 -1
- package/README.md +0 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/timeType/timeType.d.ts +6 -6
- package/cellTypes/timeType/timeType.js +4 -5
- package/cellTypes/timeType/timeType.mjs +4 -5
- package/core.d.ts +6 -1
- package/core.js +508 -80
- package/core.mjs +517 -92
- package/dataMap/index.js +4 -0
- package/dataMap/index.mjs +2 -1
- package/dataMap/metaManager/index.js +2 -2
- package/dataMap/metaManager/index.mjs +2 -2
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -0
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -0
- package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
- package/dataMap/metaManager/metaSchema.js +282 -187
- package/dataMap/metaManager/metaSchema.mjs +282 -187
- package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
- package/dataMap/replaceData.js +3 -17
- package/dataMap/replaceData.mjs +3 -17
- package/dist/handsontable.css +268 -92
- package/dist/handsontable.full.css +269 -103
- package/dist/handsontable.full.js +41990 -35658
- package/dist/handsontable.full.min.css +9 -9
- package/dist/handsontable.full.min.js +144 -144
- package/dist/handsontable.js +29561 -25597
- package/dist/handsontable.min.css +8 -8
- package/dist/handsontable.min.js +4 -4
- package/dist/languages/all.js +131 -34
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +167 -0
- package/dist/languages/ar-AR.min.js +1 -0
- package/dist/languages/cs-CZ.js +167 -0
- package/dist/languages/cs-CZ.min.js +1 -0
- package/dist/languages/de-CH.js +31 -29
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +4 -2
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +4 -2
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +4 -2
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +4 -2
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +4 -2
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +36 -38
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +36 -39
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +2 -2
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +2 -2
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +2 -2
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +2 -2
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +2 -2
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +2 -2
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +171 -0
- package/dist/languages/sr-SP.min.js +1 -0
- package/dist/languages/zh-CN.js +24 -24
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +24 -24
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +120 -267
- package/editorManager.mjs +128 -278
- package/editors/autocompleteEditor/autocompleteEditor.js +22 -25
- package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -25
- package/editors/baseEditor/baseEditor.js +205 -34
- package/editors/baseEditor/baseEditor.mjs +200 -32
- package/editors/checkboxEditor/checkboxEditor.js +2 -2
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
- package/editors/dateEditor/dateEditor.js +21 -8
- package/editors/dateEditor/dateEditor.mjs +22 -9
- package/editors/dropdownEditor/dropdownEditor.js +3 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
- package/editors/handsontableEditor/handsontableEditor.js +106 -55
- package/editors/handsontableEditor/handsontableEditor.mjs +106 -55
- package/editors/index.d.ts +3 -0
- package/editors/index.js +6 -0
- package/editors/index.mjs +3 -1
- package/editors/numericEditor/numericEditor.js +2 -2
- package/editors/numericEditor/numericEditor.mjs +2 -2
- package/editors/passwordEditor/passwordEditor.js +3 -3
- package/editors/passwordEditor/passwordEditor.mjs +3 -3
- package/editors/selectEditor/selectEditor.js +65 -110
- package/editors/selectEditor/selectEditor.mjs +66 -109
- package/editors/textEditor/caretPositioner.js +49 -0
- package/editors/textEditor/caretPositioner.mjs +42 -0
- package/editors/textEditor/textEditor.js +205 -181
- package/editors/textEditor/textEditor.mjs +199 -179
- package/editors/timeEditor/index.d.ts +1 -0
- package/editors/timeEditor/index.js +9 -0
- package/editors/timeEditor/index.mjs +1 -0
- package/editors/timeEditor/timeEditor.d.ts +7 -0
- package/editors/timeEditor/timeEditor.js +105 -0
- package/editors/timeEditor/timeEditor.mjs +84 -0
- package/eventManager.js +4 -2
- package/eventManager.mjs +4 -2
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/ar-AR.js +41 -0
- package/i18n/languages/ar-AR.mjs +17 -0
- package/i18n/languages/cs-CZ.js +40 -0
- package/i18n/languages/cs-CZ.mjs +16 -0
- package/i18n/languages/index.js +12 -0
- package/i18n/languages/index.mjs +4 -1
- package/i18n/languages/sr-SP.js +40 -0
- package/i18n/languages/sr-SP.mjs +16 -0
- package/index.d.ts +4 -0
- package/languages/all.js +131 -34
- package/languages/ar-AR.js +167 -0
- package/languages/ar-AR.mjs +19 -0
- package/languages/cs-CZ.js +167 -0
- package/languages/cs-CZ.mjs +18 -0
- package/languages/de-CH.js +31 -29
- package/languages/de-DE.js +4 -2
- package/languages/en-US.js +4 -2
- package/languages/es-MX.js +4 -2
- package/languages/fr-FR.js +4 -2
- package/languages/index.js +131 -34
- package/languages/index.mjs +4 -1
- package/languages/it-IT.js +4 -2
- package/languages/ja-JP.js +36 -38
- package/languages/ko-KR.js +36 -39
- package/languages/lv-LV.js +2 -2
- package/languages/nb-NO.js +2 -2
- package/languages/nl-NL.js +2 -2
- package/languages/pl-PL.js +2 -2
- package/languages/pt-BR.js +2 -2
- package/languages/ru-RU.js +2 -2
- package/languages/sr-SP.js +171 -0
- package/languages/sr-SP.mjs +18 -0
- package/languages/zh-CN.js +24 -24
- package/languages/zh-TW.js +24 -24
- package/package.json +44 -4
- package/pluginHooks.js +49 -13
- package/pluginHooks.mjs +49 -13
- package/plugins/autoColumnSize/autoColumnSize.js +15 -10
- package/plugins/autoColumnSize/autoColumnSize.mjs +15 -10
- package/plugins/autoRowSize/autoRowSize.js +14 -9
- package/plugins/autoRowSize/autoRowSize.mjs +14 -9
- package/plugins/autofill/autofill.js +49 -33
- package/plugins/autofill/autofill.mjs +49 -32
- package/plugins/autofill/utils.js +10 -11
- package/plugins/autofill/utils.mjs +10 -10
- package/plugins/base/base.d.ts +8 -2
- package/plugins/base/base.js +67 -4
- package/plugins/base/base.mjs +66 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.js +27 -9
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +27 -9
- package/plugins/columnSorting/columnSorting.js +5 -7
- package/plugins/columnSorting/columnSorting.mjs +5 -6
- package/plugins/columnSummary/columnSummary.js +3 -3
- package/plugins/columnSummary/columnSummary.mjs +3 -3
- package/plugins/comments/commentEditor.js +18 -2
- package/plugins/comments/commentEditor.mjs +19 -3
- package/plugins/comments/comments.js +57 -46
- package/plugins/comments/comments.mjs +58 -46
- package/plugins/contextMenu/contextMenu.js +10 -6
- package/plugins/contextMenu/contextMenu.mjs +10 -6
- package/plugins/contextMenu/menu.js +222 -110
- package/plugins/contextMenu/menu.mjs +219 -111
- package/plugins/contextMenu/predefinedItems/columnLeft.js +12 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
- package/plugins/contextMenu/predefinedItems/columnRight.js +9 -9
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
- package/plugins/contextMenu/utils.js +2 -2
- package/plugins/contextMenu/utils.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +31 -21
- package/plugins/copyPaste/copyPaste.mjs +30 -21
- package/plugins/customBorders/contextMenuItem/left.js +4 -3
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/right.js +4 -3
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
- package/plugins/customBorders/customBorders.js +144 -87
- package/plugins/customBorders/customBorders.mjs +143 -85
- package/plugins/customBorders/utils.js +131 -27
- package/plugins/customBorders/utils.mjs +115 -27
- package/plugins/dragToScroll/dragToScroll.js +10 -5
- package/plugins/dragToScroll/dragToScroll.mjs +10 -5
- package/plugins/dropdownMenu/dropdownMenu.js +9 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +9 -7
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +2 -2
- package/plugins/exportFile/types/csv.js +2 -2
- package/plugins/exportFile/types/csv.mjs +2 -2
- package/plugins/filters/component/actionBar.js +2 -2
- package/plugins/filters/component/actionBar.mjs +2 -2
- package/plugins/filters/component/condition.js +3 -3
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +2 -2
- package/plugins/filters/component/operators.mjs +2 -2
- package/plugins/filters/component/value.js +3 -3
- package/plugins/filters/component/value.mjs +3 -3
- package/plugins/filters/filters.js +11 -8
- package/plugins/filters/filters.mjs +11 -8
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +3 -3
- package/plugins/filters/ui/link.mjs +3 -3
- package/plugins/filters/ui/multipleSelect.js +18 -31
- package/plugins/filters/ui/multipleSelect.mjs +18 -31
- package/plugins/filters/ui/radioInput.js +3 -3
- package/plugins/filters/ui/radioInput.mjs +3 -3
- package/plugins/filters/ui/select.js +4 -4
- package/plugins/filters/ui/select.mjs +4 -4
- package/plugins/formulas/formulas.js +14 -9
- package/plugins/formulas/formulas.mjs +14 -9
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -5
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +5 -5
- package/plugins/hiddenColumns/hiddenColumns.js +9 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +9 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
- package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -5
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +5 -5
- package/plugins/hiddenRows/hiddenRows.js +9 -4
- package/plugins/hiddenRows/hiddenRows.mjs +9 -4
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +54 -15
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +49 -15
- package/plugins/manualColumnMove/manualColumnMove.js +70 -70
- package/plugins/manualColumnMove/manualColumnMove.mjs +71 -71
- package/plugins/manualColumnMove/ui/_base.js +25 -12
- package/plugins/manualColumnMove/ui/_base.mjs +24 -12
- package/plugins/manualColumnMove/ui/backlight.js +3 -3
- package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
- package/plugins/manualColumnMove/ui/guideline.js +3 -3
- package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
- package/plugins/manualColumnResize/manualColumnResize.js +37 -21
- package/plugins/manualColumnResize/manualColumnResize.mjs +37 -21
- package/plugins/manualRowMove/manualRowMove.js +26 -34
- package/plugins/manualRowMove/manualRowMove.mjs +26 -34
- package/plugins/manualRowMove/ui/backlight.js +3 -3
- package/plugins/manualRowMove/ui/backlight.mjs +3 -3
- package/plugins/manualRowMove/ui/guideline.js +3 -3
- package/plugins/manualRowMove/ui/guideline.mjs +3 -3
- package/plugins/manualRowResize/manualRowResize.js +34 -19
- package/plugins/manualRowResize/manualRowResize.mjs +34 -19
- package/plugins/mergeCells/calculations/autofill.js +6 -5
- package/plugins/mergeCells/calculations/autofill.mjs +6 -4
- package/plugins/mergeCells/calculations/selection.js +9 -4
- package/plugins/mergeCells/calculations/selection.mjs +9 -4
- package/plugins/mergeCells/cellCoords.js +16 -4
- package/plugins/mergeCells/cellCoords.mjs +16 -3
- package/plugins/mergeCells/cellsCollection.js +30 -23
- package/plugins/mergeCells/cellsCollection.mjs +30 -22
- package/plugins/mergeCells/mergeCells.js +94 -61
- package/plugins/mergeCells/mergeCells.mjs +94 -59
- package/plugins/multiColumnSorting/multiColumnSorting.js +4 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +4 -5
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +51 -57
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +52 -57
- package/plugins/nestedHeaders/nestedHeaders.js +31 -20
- package/plugins/nestedHeaders/nestedHeaders.mjs +31 -20
- package/plugins/nestedHeaders/stateManager/utils.js +3 -4
- package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +114 -75
- package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
- package/plugins/nestedRows/nestedRows.js +9 -4
- package/plugins/nestedRows/nestedRows.mjs +9 -4
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +2 -2
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
- package/plugins/nestedRows/ui/headers.js +2 -2
- package/plugins/nestedRows/ui/headers.mjs +2 -2
- package/plugins/nestedRows/utils/rowMoveController.js +2 -4
- package/plugins/nestedRows/utils/rowMoveController.mjs +2 -3
- package/plugins/persistentState/persistentState.js +9 -4
- package/plugins/persistentState/persistentState.mjs +9 -4
- package/plugins/search/search.js +9 -4
- package/plugins/search/search.mjs +9 -4
- package/plugins/touchScroll/touchScroll.js +27 -21
- package/plugins/touchScroll/touchScroll.mjs +27 -21
- package/plugins/trimRows/trimRows.js +9 -4
- package/plugins/trimRows/trimRows.mjs +9 -4
- package/plugins/undoRedo/undoRedo.js +53 -47
- package/plugins/undoRedo/undoRedo.mjs +53 -46
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
- package/renderers/index.d.ts +4 -1
- package/renderers/index.js +6 -0
- package/renderers/index.mjs +3 -1
- package/renderers/numericRenderer/numericRenderer.js +1 -0
- package/renderers/numericRenderer/numericRenderer.mjs +1 -0
- package/renderers/timeRenderer/index.d.ts +1 -0
- package/renderers/timeRenderer/index.js +9 -0
- package/renderers/timeRenderer/index.mjs +1 -0
- package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
- package/renderers/timeRenderer/timeRenderer.js +31 -0
- package/renderers/timeRenderer/timeRenderer.mjs +20 -0
- package/selection/highlight/visualSelection.js +94 -220
- package/selection/highlight/visualSelection.mjs +91 -213
- package/selection/mouseEventHandler.js +15 -10
- package/selection/mouseEventHandler.mjs +15 -9
- package/selection/range.js +4 -5
- package/selection/range.mjs +4 -5
- package/selection/selection.js +35 -22
- package/selection/selection.mjs +35 -20
- package/selection/transformation.js +4 -6
- package/selection/transformation.mjs +4 -5
- package/settings.d.ts +3 -1
- package/shortcuts/context.d.ts +20 -0
- package/shortcuts/context.js +296 -0
- package/shortcuts/context.mjs +268 -0
- package/shortcuts/index.d.ts +1 -0
- package/shortcuts/index.js +8 -0
- package/shortcuts/index.mjs +1 -0
- package/shortcuts/keyObserver.js +67 -0
- package/shortcuts/keyObserver.mjs +58 -0
- package/shortcuts/manager.d.ts +10 -0
- package/shortcuts/manager.js +185 -0
- package/shortcuts/manager.mjs +176 -0
- package/shortcuts/recorder.js +192 -0
- package/shortcuts/recorder.mjs +180 -0
- package/shortcuts/utils.js +77 -0
- package/shortcuts/utils.mjs +54 -0
- package/tableView.js +164 -84
- package/tableView.mjs +164 -74
- package/translations/changesObservable/observer.js +0 -1
- package/translations/changesObservable/observer.mjs +0 -1
- package/translations/indexMapper.d.ts +3 -1
- package/translations/indexMapper.js +89 -11
- package/translations/indexMapper.mjs +91 -20
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/maps/hidingMap.js +4 -2
- package/translations/maps/hidingMap.mjs +4 -2
- package/translations/maps/indexMap.js +2 -0
- package/translations/maps/indexMap.mjs +2 -0
- package/translations/maps/indexesSequence.js +5 -3
- package/translations/maps/indexesSequence.mjs +5 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.js +5 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +5 -3
- package/translations/maps/physicalIndexToValueMap.js +5 -3
- package/translations/maps/physicalIndexToValueMap.mjs +5 -3
- package/translations/maps/trimmingMap.js +4 -2
- package/translations/maps/trimmingMap.mjs +4 -2
- package/utils/dataStructures/uniqueMap.js +14 -1
- package/utils/dataStructures/uniqueMap.mjs +14 -1
- package/utils/dataStructures/uniqueSet.js +9 -0
- package/utils/dataStructures/uniqueSet.mjs +9 -0
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/3rdparty/walkontable/src/core.js +0 -309
- package/3rdparty/walkontable/src/core.mjs +0 -293
- package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
- package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
- package/utils/keyStateObserver.js +0 -121
- package/utils/keyStateObserver.mjs +0 -103
@@ -1,27 +1,35 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
4
|
+
|
5
|
+
require("core-js/modules/es.reflect.construct.js");
|
6
|
+
|
3
7
|
exports.__esModule = true;
|
4
8
|
exports.default = void 0;
|
5
9
|
|
10
|
+
require("core-js/modules/es.array.concat.js");
|
11
|
+
|
6
12
|
require("core-js/modules/es.object.to-string.js");
|
7
13
|
|
8
14
|
require("core-js/modules/web.dom-collections.for-each.js");
|
9
15
|
|
10
16
|
require("core-js/modules/web.timers.js");
|
11
17
|
|
12
|
-
var _element = require("
|
18
|
+
var _element = require("../../../helpers/dom/element");
|
13
19
|
|
14
|
-
var _array = require("
|
20
|
+
var _array = require("../../../helpers/array");
|
15
21
|
|
16
|
-
var _unicode = require("
|
22
|
+
var _unicode = require("../../../helpers/unicode");
|
17
23
|
|
18
|
-
var _browser = require("
|
19
|
-
|
20
|
-
var _eventManager = _interopRequireDefault(require("./../../../eventManager"));
|
24
|
+
var _browser = require("../../../helpers/browser");
|
21
25
|
|
22
26
|
var _overlay = require("./overlay");
|
23
27
|
|
24
|
-
function
|
28
|
+
function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
|
29
|
+
|
30
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
31
|
+
|
32
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
25
33
|
|
26
34
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
27
35
|
|
@@ -29,54 +37,112 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
29
37
|
|
30
38
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
31
39
|
|
32
|
-
(
|
33
|
-
|
34
|
-
(0, _overlay.registerOverlayOnce)(_overlay.LeftOverlay);
|
35
|
-
(0, _overlay.registerOverlayOnce)(_overlay.TopLeftCornerOverlay);
|
36
|
-
(0, _overlay.registerOverlayOnce)(_overlay.TopOverlay);
|
40
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
41
|
+
|
37
42
|
/**
|
38
43
|
* @class Overlays
|
39
44
|
*/
|
40
|
-
|
41
45
|
var Overlays = /*#__PURE__*/function () {
|
42
46
|
/**
|
43
|
-
*
|
47
|
+
* Walkontable instance's reference.
|
48
|
+
*
|
49
|
+
* @protected
|
50
|
+
* @type {Walkontable}
|
51
|
+
*/
|
52
|
+
|
53
|
+
/**
|
54
|
+
* Refer to the TopOverlay instance.
|
55
|
+
*
|
56
|
+
* @protected
|
57
|
+
* @type {TopOverlay}
|
58
|
+
*/
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Refer to the BottomOverlay instance.
|
62
|
+
*
|
63
|
+
* @protected
|
64
|
+
* @type {BottomOverlay}
|
44
65
|
*/
|
45
|
-
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Refer to the InlineStartOverlay or instance.
|
69
|
+
*
|
70
|
+
* @protected
|
71
|
+
* @type {InlineStartOverlay}
|
72
|
+
*/
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Refer to the TopInlineStartCornerOverlay instance.
|
76
|
+
*
|
77
|
+
* @protected
|
78
|
+
* @type {TopInlineStartCornerOverlay}
|
79
|
+
*/
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Refer to the BottomInlineStartCornerOverlay instance.
|
83
|
+
*
|
84
|
+
* @protected
|
85
|
+
* @type {BottomInlineStartCornerOverlay}
|
86
|
+
*/
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Browser line height for purposes of translating mouse wheel.
|
90
|
+
*
|
91
|
+
* @private
|
92
|
+
* @type {number}
|
93
|
+
*/
|
94
|
+
|
95
|
+
/**
|
96
|
+
* The walkontable settings.
|
97
|
+
*
|
98
|
+
* @protected
|
99
|
+
* @type {Settings}
|
100
|
+
*/
|
101
|
+
|
102
|
+
/**
|
103
|
+
* @param {Walkontable} wotInstance The Walkontable instance. @todo refactoring remove.
|
104
|
+
* @param {FacadeGetter} facadeGetter Function which return proper facade.
|
105
|
+
* @param {DomBindings} domBindings Bindings into DOM.
|
106
|
+
* @param {Settings} wtSettings The Walkontable settings.
|
107
|
+
* @param {EventManager} eventManager The walkontable event manager.
|
108
|
+
* @param {MasterTable} wtTable The master table.
|
109
|
+
*/
|
110
|
+
function Overlays(wotInstance, facadeGetter, domBindings, wtSettings, eventManager, wtTable) {
|
46
111
|
_classCallCheck(this, Overlays);
|
47
112
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
113
|
+
_defineProperty(this, "wot", null);
|
114
|
+
|
115
|
+
_defineProperty(this, "topOverlay", null);
|
116
|
+
|
117
|
+
_defineProperty(this, "bottomOverlay", null);
|
118
|
+
|
119
|
+
_defineProperty(this, "inlineStartOverlay", null);
|
120
|
+
|
121
|
+
_defineProperty(this, "topInlineStartCornerOverlay", null);
|
122
|
+
|
123
|
+
_defineProperty(this, "bottomInlineStartCornerOverlay", null);
|
124
|
+
|
125
|
+
_defineProperty(this, "browserLineHeight", undefined);
|
126
|
+
|
127
|
+
_defineProperty(this, "wtSettings", null);
|
128
|
+
|
54
129
|
this.wot = wotInstance;
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
*/
|
130
|
+
this.wtSettings = wtSettings;
|
131
|
+
this.domBindings = domBindings;
|
132
|
+
this.facadeGetter = facadeGetter;
|
133
|
+
this.wtTable = wtTable;
|
134
|
+
var _this$domBindings = this.domBindings,
|
135
|
+
rootDocument = _this$domBindings.rootDocument,
|
136
|
+
rootWindow = _this$domBindings.rootWindow; // legacy support
|
63
137
|
|
64
|
-
|
65
|
-
|
138
|
+
this.instance = this.wot; // todo refactoring: move to facade
|
139
|
+
|
140
|
+
this.eventManager = eventManager; // TODO refactoring: probably invalid place to this logic
|
66
141
|
|
67
|
-
this.instance = this.wot;
|
68
|
-
this.eventManager = new _eventManager.default(this.wot);
|
69
142
|
this.scrollbarSize = (0, _element.getScrollbarWidth)(rootDocument);
|
70
|
-
this.wot.update('scrollbarWidth', this.scrollbarSize);
|
71
|
-
this.wot.update('scrollbarHeight', this.scrollbarSize);
|
72
143
|
var isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
|
73
144
|
this.scrollableElement = isOverflowHidden ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
|
74
|
-
this.
|
75
|
-
this.bottomOverlay = void 0;
|
76
|
-
this.leftOverlay = void 0;
|
77
|
-
this.topLeftCornerOverlay = void 0;
|
78
|
-
this.bottomLeftCornerOverlay = void 0;
|
79
|
-
this.prepareOverlays();
|
145
|
+
this.initOverlays();
|
80
146
|
this.hasScrollbarBottom = false;
|
81
147
|
this.hasScrollbarRight = false;
|
82
148
|
this.destroyed = false;
|
@@ -87,72 +153,75 @@ var Overlays = /*#__PURE__*/function () {
|
|
87
153
|
};
|
88
154
|
this.verticalScrolling = false;
|
89
155
|
this.horizontalScrolling = false;
|
90
|
-
this.
|
156
|
+
this.initBrowserLineHeight();
|
91
157
|
this.registerListeners();
|
92
158
|
this.lastScrollX = rootWindow.scrollX;
|
93
159
|
this.lastScrollY = rootWindow.scrollY;
|
94
160
|
}
|
95
161
|
/**
|
96
|
-
*
|
162
|
+
* Retrieve browser line height and apply its value to `browserLineHeight`.
|
97
163
|
*
|
98
|
-
* @
|
164
|
+
* @private
|
99
165
|
*/
|
100
166
|
|
101
167
|
|
102
168
|
_createClass(Overlays, [{
|
103
|
-
key: "
|
104
|
-
value: function
|
105
|
-
var
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
this.bottomLeftCornerOverlay = {
|
124
|
-
needFullRender: false,
|
125
|
-
updateStateOfRendering: function updateStateOfRendering() {
|
126
|
-
return false;
|
127
|
-
}
|
128
|
-
};
|
129
|
-
}
|
130
|
-
|
131
|
-
if (this.bottomOverlay) {
|
132
|
-
syncScroll = this.bottomOverlay.updateStateOfRendering() || syncScroll;
|
133
|
-
} else {
|
134
|
-
this.bottomOverlay = (0, _overlay.createOverlay)(_overlay.CLONE_BOTTOM, this.wot);
|
135
|
-
}
|
169
|
+
key: "initBrowserLineHeight",
|
170
|
+
value: function initBrowserLineHeight() {
|
171
|
+
var _this$domBindings2 = this.domBindings,
|
172
|
+
rootWindow = _this$domBindings2.rootWindow,
|
173
|
+
rootDocument = _this$domBindings2.rootDocument;
|
174
|
+
var computedStyle = rootWindow.getComputedStyle(rootDocument.body);
|
175
|
+
/**
|
176
|
+
* Sometimes `line-height` might be set to 'normal'. In that case, a default `font-size` should be multiplied by roughly 1.2.
|
177
|
+
* Https://developer.mozilla.org/pl/docs/Web/CSS/line-height#Values.
|
178
|
+
*/
|
179
|
+
|
180
|
+
var lineHeight = parseInt(computedStyle.lineHeight, 10);
|
181
|
+
var lineHeightFalback = parseInt(computedStyle.fontSize, 10) * 1.2;
|
182
|
+
this.browserLineHeight = lineHeight || lineHeightFalback;
|
183
|
+
}
|
184
|
+
/**
|
185
|
+
* Prepare overlays based on user settings.
|
186
|
+
*
|
187
|
+
* @private
|
188
|
+
*/
|
136
189
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
190
|
+
}, {
|
191
|
+
key: "initOverlays",
|
192
|
+
value: function initOverlays() {
|
193
|
+
var args = [this.wot, this.facadeGetter, this.wtSettings, this.domBindings]; // todo refactoring: IOC, collection or factories.
|
194
|
+
// TODO refactoring, conceive about using generic collection of overlays.
|
195
|
+
|
196
|
+
this.topOverlay = _construct(_overlay.TopOverlay, args);
|
197
|
+
this.bottomOverlay = _construct(_overlay.BottomOverlay, args);
|
198
|
+
this.inlineStartOverlay = _construct(_overlay.InlineStartOverlay, args); // TODO discuss, the controversial here would be removing the lazy creation mechanism for corners.
|
199
|
+
// TODO cond. Has no any visual impact. They're initially hidden in same way like left, top, and bottom overlays.
|
200
|
+
|
201
|
+
this.topInlineStartCornerOverlay = _construct(_overlay.TopInlineStartCornerOverlay, args.concat([this.topOverlay, this.inlineStartOverlay]));
|
202
|
+
this.bottomInlineStartCornerOverlay = _construct(_overlay.BottomInlineStartCornerOverlay, args.concat([this.bottomOverlay, this.inlineStartOverlay]));
|
203
|
+
}
|
204
|
+
/**
|
205
|
+
* Update state of rendering, check if changed.
|
206
|
+
*
|
207
|
+
* @package
|
208
|
+
* @returns {boolean} Returns `true` if changes applied to overlay needs scroll synchronization.
|
209
|
+
*/
|
142
210
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
211
|
+
}, {
|
212
|
+
key: "updateStateOfRendering",
|
213
|
+
value: function updateStateOfRendering() {
|
214
|
+
var syncScroll = this.topOverlay.updateStateOfRendering();
|
215
|
+
syncScroll = this.bottomOverlay.updateStateOfRendering() || syncScroll;
|
216
|
+
syncScroll = this.inlineStartOverlay.updateStateOfRendering() || syncScroll; // todo refactoring: move conditions into updateStateOfRendering(),
|
217
|
+
|
218
|
+
if (this.inlineStartOverlay.needFullRender) {
|
219
|
+
if (this.topOverlay.needFullRender) {
|
220
|
+
syncScroll = this.topInlineStartCornerOverlay.updateStateOfRendering() || syncScroll;
|
148
221
|
}
|
149
|
-
}
|
150
222
|
|
151
|
-
|
152
|
-
|
153
|
-
syncScroll = this.bottomLeftCornerOverlay.updateStateOfRendering() || syncScroll;
|
154
|
-
} else {
|
155
|
-
this.bottomLeftCornerOverlay = (0, _overlay.createOverlay)(_overlay.CLONE_BOTTOM_LEFT_CORNER, this.wot);
|
223
|
+
if (this.bottomOverlay.needFullRender) {
|
224
|
+
syncScroll = this.bottomInlineStartCornerOverlay.updateStateOfRendering() || syncScroll;
|
156
225
|
}
|
157
226
|
}
|
158
227
|
|
@@ -169,7 +238,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
169
238
|
return;
|
170
239
|
}
|
171
240
|
|
172
|
-
if (!this.
|
241
|
+
if (!this.wtTable.holder.parentNode) {
|
173
242
|
// Walkontable was detached from DOM, but this handler was not removed
|
174
243
|
this.destroy();
|
175
244
|
return;
|
@@ -178,7 +247,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
178
247
|
this.wot.draw(true);
|
179
248
|
|
180
249
|
if (this.verticalScrolling) {
|
181
|
-
this.
|
250
|
+
this.inlineStartOverlay.onScroll(); // todo the inlineStartOverlay.onScroll() fires hook. Why is it needed there, not in any another place?
|
182
251
|
}
|
183
252
|
|
184
253
|
if (this.horizontalScrolling) {
|
@@ -197,11 +266,11 @@ var Overlays = /*#__PURE__*/function () {
|
|
197
266
|
value: function registerListeners() {
|
198
267
|
var _this = this;
|
199
268
|
|
200
|
-
var _this$
|
201
|
-
rootDocument = _this$
|
202
|
-
rootWindow = _this$
|
269
|
+
var _this$domBindings3 = this.domBindings,
|
270
|
+
rootDocument = _this$domBindings3.rootDocument,
|
271
|
+
rootWindow = _this$domBindings3.rootWindow;
|
203
272
|
var topOverlayScrollableElement = this.topOverlay.mainTableScrollableElement;
|
204
|
-
var
|
273
|
+
var inlineStartOverlayScrollableElement = this.inlineStartOverlay.mainTableScrollableElement;
|
205
274
|
this.eventManager.addEventListener(rootDocument.documentElement, 'keydown', function (event) {
|
206
275
|
return _this.onKeyDown(event);
|
207
276
|
});
|
@@ -217,8 +286,8 @@ var Overlays = /*#__PURE__*/function () {
|
|
217
286
|
passive: true
|
218
287
|
});
|
219
288
|
|
220
|
-
if (topOverlayScrollableElement !==
|
221
|
-
this.eventManager.addEventListener(
|
289
|
+
if (topOverlayScrollableElement !== inlineStartOverlayScrollableElement) {
|
290
|
+
this.eventManager.addEventListener(inlineStartOverlayScrollableElement, 'scroll', function (event) {
|
222
291
|
return _this.onTableScroll(event);
|
223
292
|
}, {
|
224
293
|
passive: true
|
@@ -227,21 +296,21 @@ var Overlays = /*#__PURE__*/function () {
|
|
227
296
|
|
228
297
|
var isHighPixelRatio = rootWindow.devicePixelRatio && rootWindow.devicePixelRatio > 1;
|
229
298
|
var isScrollOnWindow = this.scrollableElement === rootWindow;
|
230
|
-
var preventWheel = this.
|
299
|
+
var preventWheel = this.wtSettings.getSetting('preventWheel');
|
231
300
|
var wheelEventOptions = {
|
232
301
|
passive: isScrollOnWindow
|
233
302
|
};
|
234
303
|
|
235
304
|
if (preventWheel || isHighPixelRatio || !(0, _browser.isChrome)()) {
|
236
|
-
this.eventManager.addEventListener(this.
|
305
|
+
this.eventManager.addEventListener(this.wtTable.wtRootElement, 'wheel', function (event) {
|
237
306
|
return _this.onCloneWheel(event, preventWheel);
|
238
307
|
}, wheelEventOptions);
|
239
308
|
}
|
240
309
|
|
241
|
-
var overlays = [this.topOverlay, this.bottomOverlay, this.
|
310
|
+
var overlays = [this.topOverlay, this.bottomOverlay, this.inlineStartOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
|
242
311
|
overlays.forEach(function (overlay) {
|
243
312
|
if (overlay && overlay.needFullRender) {
|
244
|
-
var holder = overlay.clone.wtTable.holder;
|
313
|
+
var holder = overlay.clone.wtTable.holder; // todo rethink, maybe: overlay.getHolder()
|
245
314
|
|
246
315
|
_this.eventManager.addEventListener(holder, 'wheel', function (event) {
|
247
316
|
return _this.onCloneWheel(event, preventWheel);
|
@@ -252,7 +321,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
252
321
|
this.eventManager.addEventListener(rootWindow, 'resize', function () {
|
253
322
|
clearTimeout(resizeTimeout);
|
254
323
|
resizeTimeout = setTimeout(function () {
|
255
|
-
_this.
|
324
|
+
_this.wtSettings.getSetting('onWindowResize');
|
256
325
|
}, 200);
|
257
326
|
});
|
258
327
|
}
|
@@ -276,8 +345,8 @@ var Overlays = /*#__PURE__*/function () {
|
|
276
345
|
value: function onTableScroll(event) {
|
277
346
|
// There was if statement which controlled flow of this function. It avoided the execution of the next lines
|
278
347
|
// on mobile devices. It was changed. Broader description of this case is included within issue #4856.
|
279
|
-
var rootWindow = this.
|
280
|
-
var masterHorizontal = this.
|
348
|
+
var rootWindow = this.domBindings.rootWindow;
|
349
|
+
var masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
|
281
350
|
var masterVertical = this.topOverlay.mainTableScrollableElement;
|
282
351
|
var target = event.target; // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
|
283
352
|
// by hot.refreshBorder
|
@@ -300,10 +369,10 @@ var Overlays = /*#__PURE__*/function () {
|
|
300
369
|
}, {
|
301
370
|
key: "onCloneWheel",
|
302
371
|
value: function onCloneWheel(event, preventDefault) {
|
303
|
-
var rootWindow = this.
|
372
|
+
var rootWindow = this.domBindings.rootWindow; // There was if statement which controlled flow of this function. It avoided the execution of the next lines
|
304
373
|
// on mobile devices. It was changed. Broader description of this case is included within issue #4856.
|
305
374
|
|
306
|
-
var masterHorizontal = this.
|
375
|
+
var masterHorizontal = this.inlineStartOverlay.mainTableScrollableElement;
|
307
376
|
var masterVertical = this.topOverlay.mainTableScrollableElement;
|
308
377
|
var target = event.target; // For key press, sync only master -> overlay position because while pressing Walkontable.render is triggered
|
309
378
|
// by hot.refreshBorder
|
@@ -352,13 +421,12 @@ var Overlays = /*#__PURE__*/function () {
|
|
352
421
|
}, {
|
353
422
|
key: "translateMouseWheelToScroll",
|
354
423
|
value: function translateMouseWheelToScroll(event) {
|
355
|
-
var browserLineHeight = this.browserLineHeight;
|
356
424
|
var deltaY = isNaN(event.deltaY) ? -1 * event.wheelDeltaY : event.deltaY;
|
357
425
|
var deltaX = isNaN(event.deltaX) ? -1 * event.wheelDeltaX : event.deltaX;
|
358
426
|
|
359
427
|
if (event.deltaMode === 1) {
|
360
|
-
deltaX += deltaX * browserLineHeight;
|
361
|
-
deltaY += deltaY * browserLineHeight;
|
428
|
+
deltaX += deltaX * this.browserLineHeight;
|
429
|
+
deltaY += deltaY * this.browserLineHeight;
|
362
430
|
}
|
363
431
|
|
364
432
|
var isScrollVerticallyPossible = this.scrollVertically(deltaY);
|
@@ -406,9 +474,11 @@ var Overlays = /*#__PURE__*/function () {
|
|
406
474
|
return;
|
407
475
|
}
|
408
476
|
|
409
|
-
var rootWindow = this.
|
410
|
-
var topHolder = this.topOverlay.clone.wtTable.holder;
|
411
|
-
|
477
|
+
var rootWindow = this.domBindings.rootWindow;
|
478
|
+
var topHolder = this.topOverlay.clone.wtTable.holder; // todo rethink
|
479
|
+
|
480
|
+
var leftHolder = this.inlineStartOverlay.clone.wtTable.holder; // todo rethink
|
481
|
+
|
412
482
|
var _ref = [this.scrollableElement.scrollLeft, this.scrollableElement.scrollTop],
|
413
483
|
scrollLeft = _ref[0],
|
414
484
|
scrollTop = _ref[1];
|
@@ -419,7 +489,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
419
489
|
|
420
490
|
if (this.horizontalScrolling) {
|
421
491
|
topHolder.scrollLeft = scrollLeft;
|
422
|
-
var bottomHolder = this.bottomOverlay.needFullRender ? this.bottomOverlay.clone.wtTable.holder : null;
|
492
|
+
var bottomHolder = this.bottomOverlay.needFullRender ? this.bottomOverlay.clone.wtTable.holder : null; // todo rethink
|
423
493
|
|
424
494
|
if (bottomHolder) {
|
425
495
|
bottomHolder.scrollLeft = scrollLeft;
|
@@ -444,15 +514,15 @@ var Overlays = /*#__PURE__*/function () {
|
|
444
514
|
scrollTop = master.scrollTop;
|
445
515
|
|
446
516
|
if (this.topOverlay.needFullRender) {
|
447
|
-
this.topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft;
|
517
|
+
this.topOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
|
448
518
|
}
|
449
519
|
|
450
520
|
if (this.bottomOverlay.needFullRender) {
|
451
|
-
this.bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft;
|
521
|
+
this.bottomOverlay.clone.wtTable.holder.scrollLeft = scrollLeft; // todo rethink, *overlay.setScroll*()
|
452
522
|
}
|
453
523
|
|
454
|
-
if (this.
|
455
|
-
this.
|
524
|
+
if (this.inlineStartOverlay.needFullRender) {
|
525
|
+
this.inlineStartOverlay.clone.wtTable.holder.scrollTop = scrollTop; // todo rethink, *overlay.setScroll*()
|
456
526
|
}
|
457
527
|
}
|
458
528
|
/**
|
@@ -463,16 +533,15 @@ var Overlays = /*#__PURE__*/function () {
|
|
463
533
|
key: "updateMainScrollableElements",
|
464
534
|
value: function updateMainScrollableElements() {
|
465
535
|
this.deregisterListeners();
|
466
|
-
this.
|
536
|
+
this.inlineStartOverlay.updateMainScrollableElement();
|
467
537
|
this.topOverlay.updateMainScrollableElement();
|
468
538
|
|
469
539
|
if (this.bottomOverlay.needFullRender) {
|
470
540
|
this.bottomOverlay.updateMainScrollableElement();
|
471
541
|
}
|
472
542
|
|
473
|
-
var
|
474
|
-
|
475
|
-
wtTable = _this$wot3.wtTable;
|
543
|
+
var wtTable = this.wtTable;
|
544
|
+
var rootWindow = this.domBindings.rootWindow;
|
476
545
|
|
477
546
|
if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
|
478
547
|
this.scrollableElement = wtTable.holder;
|
@@ -489,21 +558,22 @@ var Overlays = /*#__PURE__*/function () {
|
|
489
558
|
}, {
|
490
559
|
key: "destroy",
|
491
560
|
value: function destroy() {
|
492
|
-
this.eventManager.destroy();
|
561
|
+
this.eventManager.destroy(); // todo, probably all below `destory` calls has no sense. To analyze
|
562
|
+
|
493
563
|
this.topOverlay.destroy();
|
494
564
|
|
495
565
|
if (this.bottomOverlay.clone) {
|
496
566
|
this.bottomOverlay.destroy();
|
497
567
|
}
|
498
568
|
|
499
|
-
this.
|
569
|
+
this.inlineStartOverlay.destroy();
|
500
570
|
|
501
|
-
if (this.
|
502
|
-
this.
|
571
|
+
if (this.topInlineStartCornerOverlay) {
|
572
|
+
this.topInlineStartCornerOverlay.destroy();
|
503
573
|
}
|
504
574
|
|
505
|
-
if (this.
|
506
|
-
this.
|
575
|
+
if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
|
576
|
+
this.bottomInlineStartCornerOverlay.destroy();
|
507
577
|
}
|
508
578
|
|
509
579
|
this.destroyed = true;
|
@@ -518,7 +588,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
518
588
|
key: "refresh",
|
519
589
|
value: function refresh() {
|
520
590
|
var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
521
|
-
var spreader = this.
|
591
|
+
var spreader = this.wtTable.spreader;
|
522
592
|
var width = spreader.clientWidth;
|
523
593
|
var height = spreader.clientHeight;
|
524
594
|
|
@@ -532,15 +602,15 @@ var Overlays = /*#__PURE__*/function () {
|
|
532
602
|
this.bottomOverlay.refresh(fastDraw);
|
533
603
|
}
|
534
604
|
|
535
|
-
this.
|
605
|
+
this.inlineStartOverlay.refresh(fastDraw);
|
536
606
|
this.topOverlay.refresh(fastDraw);
|
537
607
|
|
538
|
-
if (this.
|
539
|
-
this.
|
608
|
+
if (this.topInlineStartCornerOverlay) {
|
609
|
+
this.topInlineStartCornerOverlay.refresh(fastDraw);
|
540
610
|
}
|
541
611
|
|
542
|
-
if (this.
|
543
|
-
this.
|
612
|
+
if (this.bottomInlineStartCornerOverlay && this.bottomInlineStartCornerOverlay.clone) {
|
613
|
+
this.bottomInlineStartCornerOverlay.refresh(fastDraw);
|
544
614
|
}
|
545
615
|
}
|
546
616
|
/**
|
@@ -553,18 +623,18 @@ var Overlays = /*#__PURE__*/function () {
|
|
553
623
|
key: "adjustElementsSize",
|
554
624
|
value: function adjustElementsSize() {
|
555
625
|
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
556
|
-
var
|
557
|
-
|
558
|
-
|
559
|
-
var
|
560
|
-
var totalRows = this.wot.getSetting('totalRows');
|
626
|
+
var wtViewport = this.wot.wtViewport;
|
627
|
+
var wtTable = this.wtTable;
|
628
|
+
var totalColumns = this.wtSettings.getSetting('totalColumns');
|
629
|
+
var totalRows = this.wtSettings.getSetting('totalRows');
|
561
630
|
var headerRowSize = wtViewport.getRowHeaderWidth();
|
562
631
|
var headerColumnSize = wtViewport.getColumnHeaderHeight();
|
563
632
|
var hiderStyle = wtTable.hider.style;
|
564
|
-
hiderStyle.width = "".concat(headerRowSize + this.
|
633
|
+
hiderStyle.width = "".concat(headerRowSize + this.inlineStartOverlay.sumCellSizes(0, totalColumns), "px");
|
565
634
|
hiderStyle.height = "".concat(headerColumnSize + this.topOverlay.sumCellSizes(0, totalRows) + 1, "px");
|
566
635
|
|
567
636
|
if (this.scrollbarSize > 0) {
|
637
|
+
// todo refactoring, looking as a part of logic which should be moved outside the class
|
568
638
|
var _wtTable$wtRootElemen = wtTable.wtRootElement,
|
569
639
|
rootElemScrollHeight = _wtTable$wtRootElemen.scrollHeight,
|
570
640
|
rootElemScrollWidth = _wtTable$wtRootElemen.scrollWidth;
|
@@ -582,7 +652,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
582
652
|
}
|
583
653
|
|
584
654
|
this.topOverlay.adjustElementsSize(force);
|
585
|
-
this.
|
655
|
+
this.inlineStartOverlay.adjustElementsSize(force);
|
586
656
|
this.bottomOverlay.adjustElementsSize(force);
|
587
657
|
}
|
588
658
|
/**
|
@@ -592,9 +662,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
592
662
|
}, {
|
593
663
|
key: "applyToDOM",
|
594
664
|
value: function applyToDOM() {
|
595
|
-
|
596
|
-
|
597
|
-
if (!wtTable.isVisible()) {
|
665
|
+
if (!this.wtTable.isVisible()) {
|
598
666
|
return;
|
599
667
|
}
|
600
668
|
|
@@ -604,7 +672,7 @@ var Overlays = /*#__PURE__*/function () {
|
|
604
672
|
this.bottomOverlay.applyToDOM();
|
605
673
|
}
|
606
674
|
|
607
|
-
this.
|
675
|
+
this.inlineStartOverlay.applyToDOM();
|
608
676
|
}
|
609
677
|
/**
|
610
678
|
* Get the parent overlay of the provided element.
|
@@ -620,15 +688,16 @@ var Overlays = /*#__PURE__*/function () {
|
|
620
688
|
return null;
|
621
689
|
}
|
622
690
|
|
623
|
-
var overlays = [this.topOverlay, this.
|
691
|
+
var overlays = [this.topOverlay, this.inlineStartOverlay, this.bottomOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
|
624
692
|
var result = null;
|
625
|
-
(0, _array.arrayEach)(overlays, function (
|
626
|
-
if (!
|
693
|
+
(0, _array.arrayEach)(overlays, function (overlay) {
|
694
|
+
if (!overlay) {
|
627
695
|
return;
|
628
696
|
}
|
629
697
|
|
630
|
-
if (
|
631
|
-
|
698
|
+
if (overlay.clone && overlay.clone.wtTable.TABLE.contains(element)) {
|
699
|
+
// todo demeter
|
700
|
+
result = overlay.clone;
|
632
701
|
}
|
633
702
|
});
|
634
703
|
return result;
|
@@ -641,14 +710,14 @@ var Overlays = /*#__PURE__*/function () {
|
|
641
710
|
}, {
|
642
711
|
key: "syncOverlayTableClassNames",
|
643
712
|
value: function syncOverlayTableClassNames() {
|
644
|
-
var masterTable = this.
|
645
|
-
var overlays = [this.topOverlay, this.
|
713
|
+
var masterTable = this.wtTable.TABLE;
|
714
|
+
var overlays = [this.topOverlay, this.inlineStartOverlay, this.bottomOverlay, this.topInlineStartCornerOverlay, this.bottomInlineStartCornerOverlay];
|
646
715
|
(0, _array.arrayEach)(overlays, function (elem) {
|
647
716
|
if (!elem) {
|
648
717
|
return;
|
649
718
|
}
|
650
719
|
|
651
|
-
elem.clone.wtTable.TABLE.className = masterTable.className;
|
720
|
+
elem.clone.wtTable.TABLE.className = masterTable.className; // todo demeter
|
652
721
|
});
|
653
722
|
}
|
654
723
|
}]);
|