handsontable 11.0.0 → 12.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/border.js +121 -99
- package/3rdparty/walkontable/src/border.mjs +122 -96
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
- package/3rdparty/walkontable/src/cell/coords.js +60 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +56 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
- package/3rdparty/walkontable/src/cell/range.js +279 -100
- package/3rdparty/walkontable/src/cell/range.mjs +274 -100
- 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 +100 -67
- package/3rdparty/walkontable/src/event.mjs +100 -64
- package/3rdparty/walkontable/src/facade/core.js +251 -0
- package/3rdparty/walkontable/src/facade/core.mjs +243 -0
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +3 -47
- package/3rdparty/walkontable/src/index.mjs +3 -13
- package/3rdparty/walkontable/src/overlay/_base.js +125 -58
- package/3rdparty/walkontable/src/overlay/_base.mjs +126 -59
- package/3rdparty/walkontable/src/overlay/bottom.js +86 -76
- package/3rdparty/walkontable/src/overlay/bottom.mjs +86 -76
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +35 -58
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +34 -57
- 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} +102 -80
- package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +101 -79
- package/3rdparty/walkontable/src/overlay/top.js +84 -79
- package/3rdparty/walkontable/src/overlay/top.mjs +84 -79
- 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 +226 -157
- package/3rdparty/walkontable/src/overlays.mjs +226 -156
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +5 -4
- package/3rdparty/walkontable/src/renderer/cells.mjs +5 -4
- package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/index.js +1 -1
- package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +3 -3
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/rows.js +3 -3
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +61 -88
- package/3rdparty/walkontable/src/scroll.mjs +61 -88
- package/3rdparty/walkontable/src/selection.js +12 -16
- package/3rdparty/walkontable/src/selection.mjs +12 -14
- package/3rdparty/walkontable/src/settings.js +236 -127
- package/3rdparty/walkontable/src/settings.mjs +236 -126
- package/3rdparty/walkontable/src/table/bottom.js +21 -6
- package/3rdparty/walkontable/src/table/bottom.mjs +20 -6
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +31 -15
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +30 -15
- package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +27 -15
- package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +26 -15
- package/3rdparty/walkontable/src/table/master.js +23 -13
- package/3rdparty/walkontable/src/table/master.mjs +23 -13
- 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 +21 -6
- package/3rdparty/walkontable/src/table/top.mjs +20 -6
- package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +31 -15
- package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +30 -15
- package/3rdparty/walkontable/src/table.js +236 -141
- package/3rdparty/walkontable/src/table.mjs +232 -135
- package/3rdparty/walkontable/src/types.js +103 -0
- package/3rdparty/walkontable/src/types.mjs +102 -0
- package/3rdparty/walkontable/src/utils/column.js +23 -34
- package/3rdparty/walkontable/src/utils/column.mjs +23 -31
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +3 -3
- package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +10 -5
- package/3rdparty/walkontable/src/utils/row.mjs +10 -5
- package/3rdparty/walkontable/src/viewport.js +78 -81
- package/3rdparty/walkontable/src/viewport.mjs +78 -78
- package/CHANGELOG.md +94 -17
- package/README.md +10 -7
- 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 +9 -3
- package/core.js +590 -157
- package/core.mjs +599 -169
- package/dataMap/dataMap.js +2 -2
- package/dataMap/dataMap.mjs +2 -2
- package/dataMap/index.js +8 -0
- package/dataMap/index.mjs +3 -1
- package/dataMap/metaManager/index.js +3 -3
- package/dataMap/metaManager/index.mjs +3 -3
- package/dataMap/metaManager/lazyFactoryMap.js +1 -1
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +7 -3
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +7 -3
- package/dataMap/metaManager/metaLayers/tableMeta.js +3 -3
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +3 -3
- package/dataMap/metaManager/metaSchema.js +2931 -2676
- package/dataMap/metaManager/metaSchema.mjs +2931 -2676
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
- package/dataMap/replaceData.js +140 -0
- package/dataMap/replaceData.mjs +124 -0
- package/dataSource.js +1 -1
- package/dataSource.mjs +1 -1
- package/dist/README.md +2 -2
- package/dist/handsontable.css +424 -166
- package/dist/handsontable.full.css +559 -298
- package/dist/handsontable.full.js +47163 -41289
- package/dist/handsontable.full.min.css +8 -13
- package/dist/handsontable.full.min.js +143 -142
- package/dist/handsontable.js +28270 -24105
- package/dist/handsontable.min.css +8 -11
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +69 -38
- 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/de-CH.js +32 -33
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +5 -6
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +5 -6
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +5 -6
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +5 -6
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +5 -6
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +5 -6
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +37 -42
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +4 -6
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +4 -6
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +4 -6
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +4 -6
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +4 -6
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +4 -6
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/zh-CN.js +4 -6
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +25 -27
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +121 -268
- package/editorManager.mjs +129 -279
- package/editors/autocompleteEditor/autocompleteEditor.js +19 -17
- package/editors/autocompleteEditor/autocompleteEditor.mjs +19 -17
- package/editors/baseEditor/baseEditor.js +207 -36
- package/editors/baseEditor/baseEditor.mjs +202 -34
- package/editors/checkboxEditor/checkboxEditor.js +3 -3
- package/editors/checkboxEditor/checkboxEditor.mjs +3 -3
- package/editors/dateEditor/dateEditor.js +22 -9
- package/editors/dateEditor/dateEditor.mjs +23 -10
- package/editors/dropdownEditor/dropdownEditor.js +4 -4
- package/editors/dropdownEditor/dropdownEditor.mjs +4 -4
- package/editors/handsontableEditor/handsontableEditor.js +107 -56
- package/editors/handsontableEditor/handsontableEditor.mjs +107 -56
- package/editors/index.d.ts +3 -0
- package/editors/index.js +6 -0
- package/editors/index.mjs +3 -1
- package/editors/numericEditor/numericEditor.js +3 -3
- package/editors/numericEditor/numericEditor.mjs +3 -3
- package/editors/passwordEditor/passwordEditor.js +4 -4
- package/editors/passwordEditor/passwordEditor.mjs +4 -4
- package/editors/selectEditor/selectEditor.js +66 -111
- package/editors/selectEditor/selectEditor.mjs +67 -110
- package/editors/textEditor/caretPositioner.js +49 -0
- package/editors/textEditor/caretPositioner.mjs +42 -0
- package/editors/textEditor/textEditor.js +206 -182
- package/editors/textEditor/textEditor.mjs +200 -180
- 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 +11 -5
- package/eventManager.mjs +11 -5
- package/helpers/data.js +1 -1
- package/helpers/data.mjs +1 -1
- package/helpers/dom/element.js +1 -1
- package/helpers/dom/element.mjs +1 -1
- package/helpers/feature.js +1 -1
- package/helpers/feature.mjs +1 -1
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +3 -3
- package/helpers/number.js +4 -4
- package/helpers/number.mjs +4 -4
- package/helpers/object.js +1 -1
- package/helpers/object.mjs +1 -1
- package/i18n/languages/ar-AR.js +41 -0
- package/i18n/languages/ar-AR.mjs +17 -0
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/index.js +4 -0
- package/i18n/languages/index.mjs +2 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +4 -0
- package/index.js +1 -1
- package/languages/all.js +69 -38
- package/languages/ar-AR.js +167 -0
- package/languages/ar-AR.mjs +19 -0
- package/languages/de-CH.js +32 -33
- package/languages/de-DE.js +5 -6
- package/languages/en-US.js +5 -6
- package/languages/es-MX.js +5 -6
- package/languages/fr-FR.js +5 -6
- package/languages/index.js +69 -38
- package/languages/index.mjs +2 -1
- package/languages/it-IT.js +5 -6
- package/languages/ja-JP.js +5 -6
- package/languages/ko-KR.js +37 -42
- package/languages/lv-LV.js +4 -6
- package/languages/nb-NO.js +4 -6
- package/languages/nl-NL.js +4 -6
- package/languages/pl-PL.js +4 -6
- package/languages/pt-BR.js +4 -6
- package/languages/ru-RU.js +4 -6
- package/languages/zh-CN.js +4 -6
- package/languages/zh-TW.js +25 -27
- package/package.json +26 -8
- package/pluginHooks.d.ts +2 -0
- package/pluginHooks.js +58 -27
- package/pluginHooks.mjs +58 -27
- package/plugins/autoColumnSize/autoColumnSize.js +14 -9
- package/plugins/autoColumnSize/autoColumnSize.mjs +14 -9
- package/plugins/autoRowSize/autoRowSize.js +15 -10
- package/plugins/autoRowSize/autoRowSize.mjs +15 -10
- package/plugins/autofill/autofill.js +50 -34
- package/plugins/autofill/autofill.mjs +50 -33
- 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 +68 -5
- package/plugins/base/base.mjs +67 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +4 -4
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +4 -4
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -4
- package/plugins/collapsibleColumns/collapsibleColumns.js +49 -30
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +49 -30
- package/plugins/columnSorting/columnSorting.d.ts +1 -1
- package/plugins/columnSorting/columnSorting.js +10 -12
- package/plugins/columnSorting/columnSorting.mjs +10 -11
- package/plugins/columnSorting/columnStatesManager.js +3 -3
- package/plugins/columnSorting/columnStatesManager.mjs +3 -3
- package/plugins/columnSummary/columnSummary.js +4 -4
- package/plugins/columnSummary/columnSummary.mjs +4 -4
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +24 -4
- package/plugins/comments/commentEditor.mjs +25 -5
- package/plugins/comments/comments.js +63 -104
- package/plugins/comments/comments.mjs +63 -102
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +11 -7
- package/plugins/contextMenu/contextMenu.mjs +11 -7
- package/plugins/contextMenu/cursor.js +1 -1
- package/plugins/contextMenu/cursor.mjs +1 -1
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu.js +223 -111
- package/plugins/contextMenu/menu.mjs +220 -112
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +13 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
- package/plugins/contextMenu/predefinedItems/columnRight.js +10 -10
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/contextMenu/predefinedItems.js +1 -1
- package/plugins/contextMenu/utils.js +2 -2
- package/plugins/contextMenu/utils.mjs +2 -2
- package/plugins/copyPaste/clipboardData.js +1 -1
- package/plugins/copyPaste/clipboardData.mjs +1 -1
- package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +29 -19
- package/plugins/copyPaste/copyPaste.mjs +28 -19
- package/plugins/copyPaste/focusableElement.js +1 -1
- package/plugins/copyPaste/focusableElement.mjs +1 -1
- package/plugins/copyPaste/pasteEvent.js +6 -2
- package/plugins/copyPaste/pasteEvent.mjs +6 -2
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +5 -4
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +5 -4
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +141 -85
- package/plugins/customBorders/customBorders.mjs +139 -82
- package/plugins/customBorders/utils.js +131 -27
- package/plugins/customBorders/utils.mjs +115 -27
- package/plugins/dragToScroll/dragToScroll.js +11 -6
- package/plugins/dragToScroll/dragToScroll.mjs +11 -6
- package/plugins/dropdownMenu/dropdownMenu.js +8 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +8 -7
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/exportFile/exportFile.js +3 -3
- package/plugins/exportFile/exportFile.mjs +3 -3
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/exportFile/types/csv.js +3 -3
- package/plugins/exportFile/types/csv.mjs +3 -3
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +3 -3
- package/plugins/filters/component/actionBar.mjs +3 -3
- package/plugins/filters/component/condition.js +4 -4
- package/plugins/filters/component/condition.mjs +4 -4
- package/plugins/filters/component/operators.js +3 -3
- package/plugins/filters/component/operators.mjs +3 -3
- package/plugins/filters/component/value.js +4 -4
- package/plugins/filters/component/value.mjs +4 -4
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +1 -1
- package/plugins/filters/conditionUpdateObserver.mjs +1 -1
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +12 -9
- package/plugins/filters/filters.mjs +12 -9
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +4 -4
- package/plugins/filters/ui/input.mjs +4 -4
- package/plugins/filters/ui/link.js +4 -4
- package/plugins/filters/ui/link.mjs +4 -4
- package/plugins/filters/ui/multipleSelect.js +19 -32
- package/plugins/filters/ui/multipleSelect.mjs +19 -32
- package/plugins/filters/ui/radioInput.js +4 -4
- package/plugins/filters/ui/radioInput.mjs +4 -4
- package/plugins/filters/ui/select.js +5 -5
- package/plugins/filters/ui/select.mjs +5 -5
- package/plugins/formulas/engine/register.js +1 -1
- package/plugins/formulas/engine/register.mjs +1 -1
- package/plugins/formulas/engine/settings.js +2 -2
- package/plugins/formulas/engine/settings.mjs +2 -2
- package/plugins/formulas/formulas.js +10 -10
- package/plugins/formulas/formulas.mjs +10 -10
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
- package/plugins/hiddenColumns/hiddenColumns.js +10 -5
- package/plugins/hiddenColumns/hiddenColumns.mjs +10 -5
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
- package/plugins/hiddenRows/hiddenRows.js +10 -5
- package/plugins/hiddenRows/hiddenRows.mjs +10 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +26 -13
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +26 -13
- package/plugins/manualColumnMove/manualColumnMove.js +73 -62
- package/plugins/manualColumnMove/manualColumnMove.mjs +74 -63
- package/plugins/manualColumnMove/ui/_base.js +26 -13
- package/plugins/manualColumnMove/ui/_base.mjs +25 -13
- package/plugins/manualColumnMove/ui/backlight.js +4 -4
- package/plugins/manualColumnMove/ui/backlight.mjs +4 -4
- package/plugins/manualColumnMove/ui/guideline.js +4 -4
- package/plugins/manualColumnMove/ui/guideline.mjs +4 -4
- package/plugins/manualColumnResize/manualColumnResize.js +38 -22
- package/plugins/manualColumnResize/manualColumnResize.mjs +38 -22
- package/plugins/manualRowMove/manualRowMove.js +27 -17
- package/plugins/manualRowMove/manualRowMove.mjs +27 -17
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowMove/ui/backlight.js +4 -4
- package/plugins/manualRowMove/ui/backlight.mjs +4 -4
- package/plugins/manualRowMove/ui/guideline.js +4 -4
- package/plugins/manualRowMove/ui/guideline.mjs +4 -4
- package/plugins/manualRowResize/manualRowResize.js +35 -20
- package/plugins/manualRowResize/manualRowResize.mjs +35 -20
- package/plugins/mergeCells/calculations/autofill.js +7 -6
- package/plugins/mergeCells/calculations/autofill.mjs +7 -5
- package/plugins/mergeCells/calculations/selection.js +10 -5
- package/plugins/mergeCells/calculations/selection.mjs +10 -5
- package/plugins/mergeCells/cellCoords.js +17 -5
- package/plugins/mergeCells/cellCoords.mjs +17 -4
- package/plugins/mergeCells/cellsCollection.js +28 -21
- package/plugins/mergeCells/cellsCollection.mjs +28 -20
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
- package/plugins/mergeCells/mergeCells.js +83 -50
- package/plugins/mergeCells/mergeCells.mjs +83 -48
- package/plugins/multiColumnSorting/multiColumnSorting.js +5 -7
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +5 -6
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +52 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +53 -58
- package/plugins/nestedHeaders/nestedHeaders.js +26 -19
- package/plugins/nestedHeaders/nestedHeaders.mjs +26 -19
- package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +3 -3
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +3 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -3
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +11 -5
- package/plugins/nestedRows/nestedRows.mjs +11 -5
- package/plugins/nestedRows/ui/_base.js +6 -2
- package/plugins/nestedRows/ui/_base.mjs +6 -2
- package/plugins/nestedRows/ui/collapsing.js +3 -3
- package/plugins/nestedRows/ui/collapsing.mjs +3 -3
- package/plugins/nestedRows/ui/contextMenu.js +3 -3
- package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
- package/plugins/nestedRows/ui/headers.js +3 -3
- package/plugins/nestedRows/ui/headers.mjs +3 -3
- package/plugins/nestedRows/utils/rowMoveController.js +3 -5
- package/plugins/nestedRows/utils/rowMoveController.mjs +3 -4
- package/plugins/persistentState/persistentState.js +10 -5
- package/plugins/persistentState/persistentState.mjs +10 -5
- package/plugins/persistentState/storage.js +1 -1
- package/plugins/persistentState/storage.mjs +1 -1
- package/plugins/search/search.js +10 -5
- package/plugins/search/search.mjs +10 -5
- package/plugins/touchScroll/touchScroll.js +32 -26
- package/plugins/touchScroll/touchScroll.mjs +32 -25
- package/plugins/trimRows/trimRows.js +10 -5
- package/plugins/trimRows/trimRows.mjs +10 -5
- package/plugins/undoRedo/index.js +1 -1
- package/plugins/undoRedo/undoRedo.js +54 -48
- package/plugins/undoRedo/undoRedo.mjs +54 -47
- 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/highlight.js +3 -3
- package/selection/highlight/highlight.mjs +3 -3
- package/selection/highlight/types/activeHeader.js +2 -2
- package/selection/highlight/types/activeHeader.mjs +2 -2
- package/selection/highlight/types/area.js +2 -2
- package/selection/highlight/types/area.mjs +2 -2
- package/selection/highlight/types/cell.js +2 -2
- package/selection/highlight/types/cell.mjs +2 -2
- package/selection/highlight/types/customSelection.js +2 -2
- package/selection/highlight/types/customSelection.mjs +2 -2
- package/selection/highlight/types/fill.js +2 -2
- package/selection/highlight/types/fill.mjs +2 -2
- package/selection/highlight/types/header.js +2 -2
- package/selection/highlight/types/header.mjs +2 -2
- package/selection/highlight/types/index.js +2 -2
- package/selection/highlight/types/index.mjs +2 -2
- package/selection/highlight/visualSelection.js +17 -16
- package/selection/highlight/visualSelection.mjs +18 -17
- package/selection/mouseEventHandler.js +15 -10
- package/selection/mouseEventHandler.mjs +15 -9
- package/selection/range.js +5 -6
- package/selection/range.mjs +5 -6
- package/selection/selection.js +27 -20
- package/selection/selection.mjs +27 -18
- package/selection/transformation.js +5 -7
- package/selection/transformation.mjs +5 -6
- package/selection/utils.js +1 -1
- package/selection/utils.mjs +1 -1
- 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 +183 -0
- package/shortcuts/manager.mjs +174 -0
- package/shortcuts/recorder.js +183 -0
- package/shortcuts/recorder.mjs +171 -0
- package/shortcuts/utils.js +77 -0
- package/shortcuts/utils.mjs +54 -0
- package/tableView.js +138 -80
- package/tableView.mjs +138 -70
- package/translations/changesObservable/observable.js +1 -1
- package/translations/changesObservable/observable.mjs +1 -1
- package/translations/changesObservable/observer.js +1 -2
- package/translations/changesObservable/observer.mjs +1 -2
- package/translations/indexMapper.d.ts +1 -0
- package/translations/indexMapper.js +25 -2
- package/translations/indexMapper.mjs +24 -2
- package/translations/mapCollections/aggregatedCollection.js +3 -3
- package/translations/mapCollections/aggregatedCollection.mjs +3 -3
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/hidingMap.js +5 -3
- package/translations/maps/hidingMap.mjs +5 -3
- package/translations/maps/indexMap.js +3 -1
- package/translations/maps/indexMap.mjs +3 -1
- package/translations/maps/indexesSequence.js +6 -4
- package/translations/maps/indexesSequence.mjs +6 -4
- package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -4
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -4
- package/translations/maps/physicalIndexToValueMap.js +6 -4
- package/translations/maps/physicalIndexToValueMap.mjs +6 -4
- package/translations/maps/trimmingMap.js +5 -3
- package/translations/maps/trimmingMap.mjs +5 -3
- package/utils/dataStructures/linkedList.js +3 -3
- package/utils/dataStructures/linkedList.mjs +3 -3
- package/utils/dataStructures/queue.js +1 -1
- package/utils/dataStructures/queue.mjs +1 -1
- package/utils/dataStructures/stack.js +1 -1
- package/utils/dataStructures/stack.mjs +1 -1
- package/utils/dataStructures/tree.js +3 -3
- package/utils/dataStructures/tree.mjs +3 -3
- 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 +14 -3
- package/utils/ghostTable.mjs +15 -4
- package/utils/interval.js +1 -1
- package/utils/interval.mjs +1 -1
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.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
@@ -5,51 +5,72 @@ exports.Overlay = void 0;
|
|
5
5
|
|
6
6
|
require("core-js/modules/es.array.index-of.js");
|
7
7
|
|
8
|
-
var _element = require("
|
8
|
+
var _element = require("../../../../helpers/dom/element");
|
9
9
|
|
10
|
-
var _object = require("
|
10
|
+
var _object = require("../../../../helpers/object");
|
11
11
|
|
12
|
-
var _array = require("
|
12
|
+
var _array = require("../../../../helpers/array");
|
13
13
|
|
14
|
-
var _console = require("
|
15
|
-
|
16
|
-
var _eventManager = _interopRequireDefault(require("./../../../../eventManager"));
|
14
|
+
var _console = require("../../../../helpers/console");
|
17
15
|
|
18
16
|
var _constants = require("./constants");
|
19
17
|
|
18
|
+
var _clone = _interopRequireDefault(require("../core/clone"));
|
19
|
+
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21
21
|
|
22
22
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
23
23
|
|
24
24
|
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); } }
|
25
25
|
|
26
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
27
|
+
|
28
|
+
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; }
|
27
29
|
|
28
30
|
/**
|
29
31
|
* Creates an overlay over the original Walkontable instance. The overlay renders the clone of the original Walkontable
|
30
32
|
* and (optionally) implements behavior needed for native horizontal and vertical scrolling.
|
31
33
|
*
|
34
|
+
* @abstract
|
32
35
|
* @class Overlay
|
36
|
+
* @property {Walkontable} wot The Walkontable instance.
|
33
37
|
*/
|
34
38
|
var Overlay = /*#__PURE__*/function () {
|
35
39
|
/**
|
36
|
-
*
|
40
|
+
* The Walkontable settings.
|
41
|
+
*
|
42
|
+
* @private
|
43
|
+
* @type {Settings}
|
37
44
|
*/
|
38
|
-
|
45
|
+
|
46
|
+
/**
|
47
|
+
* @param {Walkontable} wotInstance The Walkontable instance. @TODO refactoring: check if can be deleted.
|
48
|
+
* @param {FacadeGetter} facadeGetter Function which return proper facade.
|
49
|
+
* @param {CLONE_TYPES_ENUM} type The overlay type name (clone name).
|
50
|
+
* @param {Settings} wtSettings The Walkontable settings.
|
51
|
+
* @param {DomBindings} domBindings Dom elements bound to the current instance.
|
52
|
+
*/
|
53
|
+
function Overlay(wotInstance, facadeGetter, type, wtSettings, domBindings) {
|
39
54
|
_classCallCheck(this, Overlay);
|
40
55
|
|
56
|
+
_defineProperty(this, "wtSettings", null);
|
57
|
+
|
41
58
|
(0, _object.defineGetter)(this, 'wot', wotInstance, {
|
42
59
|
writable: false
|
43
60
|
});
|
61
|
+
this.domBindings = domBindings;
|
62
|
+
this.facadeGetter = facadeGetter;
|
63
|
+
this.wtSettings = wtSettings;
|
44
64
|
var _this$wot$wtTable = this.wot.wtTable,
|
45
65
|
TABLE = _this$wot$wtTable.TABLE,
|
46
66
|
hider = _this$wot$wtTable.hider,
|
47
67
|
spreader = _this$wot$wtTable.spreader,
|
48
68
|
holder = _this$wot$wtTable.holder,
|
49
|
-
wtRootElement = _this$wot$wtTable.wtRootElement; //
|
69
|
+
wtRootElement = _this$wot$wtTable.wtRootElement; // todo ioc
|
70
|
+
// legacy support, deprecated in the future
|
50
71
|
|
51
72
|
this.instance = this.wot;
|
52
|
-
this.type =
|
73
|
+
this.type = type;
|
53
74
|
this.mainTableScrollableElement = null;
|
54
75
|
this.TABLE = TABLE;
|
55
76
|
this.hider = hider;
|
@@ -58,6 +79,7 @@ var Overlay = /*#__PURE__*/function () {
|
|
58
79
|
this.wtRootElement = wtRootElement;
|
59
80
|
this.trimmingContainer = (0, _element.getTrimmingContainer)(this.hider.parentNode.parentNode);
|
60
81
|
this.updateStateOfRendering();
|
82
|
+
this.clone = this.makeClone();
|
61
83
|
}
|
62
84
|
/**
|
63
85
|
* Update internal state of object with an information about the need of full rendering of the overlay.
|
@@ -69,6 +91,7 @@ var Overlay = /*#__PURE__*/function () {
|
|
69
91
|
_createClass(Overlay, [{
|
70
92
|
key: "updateStateOfRendering",
|
71
93
|
value: function updateStateOfRendering() {
|
94
|
+
// todo refactoring: conceive introducing final state machine, normal -> changed (once) -> needs-full-render -> ...? -> normal
|
72
95
|
var previousState = this.needFullRender;
|
73
96
|
this.needFullRender = this.shouldBeRendered();
|
74
97
|
var changed = previousState !== this.needFullRender;
|
@@ -106,9 +129,8 @@ var Overlay = /*#__PURE__*/function () {
|
|
106
129
|
}, {
|
107
130
|
key: "updateMainScrollableElement",
|
108
131
|
value: function updateMainScrollableElement() {
|
109
|
-
var
|
110
|
-
|
111
|
-
rootWindow = _this$wot.rootWindow;
|
132
|
+
var wtTable = this.wot.wtTable;
|
133
|
+
var rootWindow = this.domBindings.rootWindow;
|
112
134
|
|
113
135
|
if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
|
114
136
|
this.mainTableScrollableElement = this.wot.wtTable.holder;
|
@@ -123,7 +145,7 @@ var Overlay = /*#__PURE__*/function () {
|
|
123
145
|
* @param {HTMLElement} element The cell element to calculate the position for.
|
124
146
|
* @param {number} rowIndex Visual row index.
|
125
147
|
* @param {number} columnIndex Visual column index.
|
126
|
-
* @returns {{top: number,
|
148
|
+
* @returns {{top: number, start: number}|undefined}
|
127
149
|
*/
|
128
150
|
|
129
151
|
}, {
|
@@ -134,28 +156,41 @@ var Overlay = /*#__PURE__*/function () {
|
|
134
156
|
return;
|
135
157
|
}
|
136
158
|
|
137
|
-
var windowScroll = this.mainTableScrollableElement === this.
|
138
|
-
var
|
139
|
-
var fixedRowTop = rowIndex < this.
|
140
|
-
var fixedRowBottom = rowIndex >= this.
|
159
|
+
var windowScroll = this.mainTableScrollableElement === this.domBindings.rootWindow;
|
160
|
+
var fixedColumnStart = columnIndex < this.wtSettings.getSetting('fixedColumnsStart');
|
161
|
+
var fixedRowTop = rowIndex < this.wtSettings.getSetting('fixedRowsTop');
|
162
|
+
var fixedRowBottom = rowIndex >= this.wtSettings.getSetting('totalRows') - this.wtSettings.getSetting('fixedRowsBottom');
|
163
|
+
var spreader = this.clone.wtTable.spreader;
|
141
164
|
var spreaderOffset = {
|
142
|
-
|
143
|
-
top:
|
165
|
+
start: this.getRelativeStartPosition(spreader),
|
166
|
+
top: spreader.offsetTop
|
144
167
|
};
|
145
168
|
var elementOffset = {
|
146
|
-
|
169
|
+
start: this.getRelativeStartPosition(element),
|
147
170
|
top: element.offsetTop
|
148
171
|
};
|
149
172
|
var offsetObject = null;
|
150
173
|
|
151
174
|
if (windowScroll) {
|
152
|
-
offsetObject = this.getRelativeCellPositionWithinWindow(fixedRowTop,
|
175
|
+
offsetObject = this.getRelativeCellPositionWithinWindow(fixedRowTop, fixedColumnStart, elementOffset, spreaderOffset);
|
153
176
|
} else {
|
154
|
-
offsetObject = this.getRelativeCellPositionWithinHolder(fixedRowTop, fixedRowBottom,
|
177
|
+
offsetObject = this.getRelativeCellPositionWithinHolder(fixedRowTop, fixedRowBottom, fixedColumnStart, elementOffset, spreaderOffset);
|
155
178
|
}
|
156
179
|
|
157
180
|
return offsetObject;
|
158
181
|
}
|
182
|
+
/**
|
183
|
+
* Get inline start value depending of direction.
|
184
|
+
*
|
185
|
+
* @param {HTMLElement} el Element.
|
186
|
+
* @returns {number}
|
187
|
+
*/
|
188
|
+
|
189
|
+
}, {
|
190
|
+
key: "getRelativeStartPosition",
|
191
|
+
value: function getRelativeStartPosition(el) {
|
192
|
+
return this.isRtl() ? el.offsetParent.offsetWidth - el.offsetLeft - el.offsetWidth : el.offsetLeft;
|
193
|
+
}
|
159
194
|
/**
|
160
195
|
* Calculates coordinates of the provided element, relative to the root Handsontable element within a table with window
|
161
196
|
* as a scrollable element.
|
@@ -171,14 +206,21 @@ var Overlay = /*#__PURE__*/function () {
|
|
171
206
|
}, {
|
172
207
|
key: "getRelativeCellPositionWithinWindow",
|
173
208
|
value: function getRelativeCellPositionWithinWindow(onFixedRowTop, onFixedColumn, elementOffset, spreaderOffset) {
|
174
|
-
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect();
|
209
|
+
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect(); // todo refactoring: DEMETER
|
210
|
+
|
175
211
|
var horizontalOffset = 0;
|
176
212
|
var verticalOffset = 0;
|
177
213
|
|
178
214
|
if (!onFixedColumn) {
|
179
|
-
horizontalOffset = spreaderOffset.
|
215
|
+
horizontalOffset = spreaderOffset.start;
|
180
216
|
} else {
|
181
|
-
|
217
|
+
var absoluteRootElementStartPosition = absoluteRootElementPosition.left;
|
218
|
+
|
219
|
+
if (this.isRtl()) {
|
220
|
+
absoluteRootElementStartPosition = this.domBindings.rootWindow.innerWidth - (absoluteRootElementPosition.left + absoluteRootElementPosition.width + (0, _element.getScrollbarWidth)());
|
221
|
+
}
|
222
|
+
|
223
|
+
horizontalOffset = absoluteRootElementStartPosition <= 0 ? -1 * absoluteRootElementStartPosition : 0;
|
182
224
|
}
|
183
225
|
|
184
226
|
if (onFixedRowTop) {
|
@@ -189,7 +231,7 @@ var Overlay = /*#__PURE__*/function () {
|
|
189
231
|
}
|
190
232
|
|
191
233
|
return {
|
192
|
-
|
234
|
+
start: elementOffset.start + horizontalOffset,
|
193
235
|
top: elementOffset.top + verticalOffset
|
194
236
|
};
|
195
237
|
}
|
@@ -210,63 +252,69 @@ var Overlay = /*#__PURE__*/function () {
|
|
210
252
|
key: "getRelativeCellPositionWithinHolder",
|
211
253
|
value: function getRelativeCellPositionWithinHolder(onFixedRowTop, onFixedRowBottom, onFixedColumn, elementOffset, spreaderOffset) {
|
212
254
|
var tableScrollPosition = {
|
213
|
-
horizontal: this.
|
214
|
-
vertical: this.
|
255
|
+
horizontal: this.wot.wtOverlays.inlineStartOverlay.getScrollPosition(),
|
256
|
+
vertical: this.wot.wtOverlays.topOverlay.getScrollPosition()
|
215
257
|
};
|
216
258
|
var horizontalOffset = 0;
|
217
259
|
var verticalOffset = 0;
|
218
260
|
|
219
261
|
if (!onFixedColumn) {
|
220
|
-
horizontalOffset = tableScrollPosition.horizontal - spreaderOffset.
|
262
|
+
horizontalOffset = tableScrollPosition.horizontal - spreaderOffset.start;
|
221
263
|
}
|
222
264
|
|
223
265
|
if (onFixedRowBottom) {
|
224
|
-
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect();
|
225
|
-
|
266
|
+
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect(); // todo refactoring: DEMETER
|
267
|
+
|
268
|
+
var absoluteOverlayPosition = this.clone.wtTable.TABLE.getBoundingClientRect(); // todo refactoring: DEMETER
|
269
|
+
|
226
270
|
verticalOffset = absoluteOverlayPosition.top * -1 + absoluteRootElementPosition.top;
|
227
271
|
} else if (!onFixedRowTop) {
|
228
272
|
verticalOffset = tableScrollPosition.vertical - spreaderOffset.top;
|
229
273
|
}
|
230
274
|
|
231
275
|
return {
|
232
|
-
|
276
|
+
start: elementOffset.start - horizontalOffset,
|
233
277
|
top: elementOffset.top - verticalOffset
|
234
278
|
};
|
235
279
|
}
|
236
280
|
/**
|
237
281
|
* Make a clone of table for overlay.
|
238
282
|
*
|
239
|
-
* @
|
240
|
-
* `Overlay.CLONE_TOP_LEFT_CORNER`.
|
241
|
-
* @returns {Walkontable}
|
283
|
+
* @returns {Clone}
|
242
284
|
*/
|
243
285
|
|
244
286
|
}, {
|
245
287
|
key: "makeClone",
|
246
|
-
value: function makeClone(
|
247
|
-
if (_constants.CLONE_TYPES.indexOf(
|
248
|
-
throw new Error("Clone type \"".concat(
|
288
|
+
value: function makeClone() {
|
289
|
+
if (_constants.CLONE_TYPES.indexOf(this.type) === -1) {
|
290
|
+
throw new Error("Clone type \"".concat(this.type, "\" is not supported."));
|
249
291
|
}
|
250
292
|
|
251
|
-
var
|
252
|
-
|
253
|
-
rootDocument = _this$
|
254
|
-
rootWindow = _this$
|
293
|
+
var wtTable = this.wot.wtTable;
|
294
|
+
var _this$domBindings = this.domBindings,
|
295
|
+
rootDocument = _this$domBindings.rootDocument,
|
296
|
+
rootWindow = _this$domBindings.rootWindow;
|
255
297
|
var clone = rootDocument.createElement('DIV');
|
256
298
|
var clonedTable = rootDocument.createElement('TABLE');
|
257
299
|
var tableParent = wtTable.wtRootElement.parentNode;
|
258
|
-
clone.className = "
|
300
|
+
clone.className = "".concat(_constants.CLONE_CLASS_NAMES.get(this.type), " handsontable");
|
301
|
+
clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
|
259
302
|
clone.style.position = 'absolute';
|
260
303
|
clone.style.top = 0;
|
261
|
-
clone.style.left = 0;
|
262
304
|
clone.style.overflow = 'visible';
|
305
|
+
|
306
|
+
if (this.isRtl()) {
|
307
|
+
clone.style.right = 0;
|
308
|
+
} else {
|
309
|
+
clone.style.left = 0;
|
310
|
+
}
|
311
|
+
|
263
312
|
clonedTable.className = wtTable.TABLE.className;
|
264
313
|
clone.appendChild(clonedTable);
|
265
|
-
this.type = direction;
|
266
314
|
tableParent.appendChild(clone);
|
267
|
-
var preventOverflow = this.
|
315
|
+
var preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
268
316
|
|
269
|
-
if (preventOverflow === true || preventOverflow === 'horizontal' && this.type === _constants.CLONE_TOP || preventOverflow === 'vertical' && this.type === _constants.
|
317
|
+
if (preventOverflow === true || preventOverflow === 'horizontal' && this.type === _constants.CLONE_TOP || preventOverflow === 'vertical' && this.type === _constants.CLONE_INLINE_START) {
|
270
318
|
this.mainTableScrollableElement = rootWindow;
|
271
319
|
} else if (rootWindow.getComputedStyle(tableParent).getPropertyValue('overflow') === 'hidden') {
|
272
320
|
this.mainTableScrollableElement = wtTable.holder;
|
@@ -275,10 +323,16 @@ var Overlay = /*#__PURE__*/function () {
|
|
275
323
|
} // Create a new instance of the Walkontable class
|
276
324
|
|
277
325
|
|
278
|
-
return new this.
|
279
|
-
|
280
|
-
|
281
|
-
|
326
|
+
return new _clone.default(clonedTable, this.wtSettings, {
|
327
|
+
// todo ioc factory
|
328
|
+
source: this.wot,
|
329
|
+
overlay: this,
|
330
|
+
viewport: this.wot.wtViewport,
|
331
|
+
// todo ioc , or factor func if used only here
|
332
|
+
event: this.wot.wtEvent,
|
333
|
+
// todo ioc , or factory func if used only here
|
334
|
+
selections: this.wot.selections // todo ioc , or factory func if used only here
|
335
|
+
|
282
336
|
});
|
283
337
|
}
|
284
338
|
/**
|
@@ -313,16 +367,29 @@ var Overlay = /*#__PURE__*/function () {
|
|
313
367
|
return;
|
314
368
|
}
|
315
369
|
|
316
|
-
var holder = this.clone.wtTable.holder;
|
317
|
-
|
370
|
+
var holder = this.clone.wtTable.holder; // todo refactoring: DEMETER
|
371
|
+
|
372
|
+
var hider = this.clone.wtTable.hider; // todo refactoring: DEMETER
|
373
|
+
|
318
374
|
var holderStyle = holder.style;
|
319
|
-
var
|
375
|
+
var hiderStyle = hider.style;
|
320
376
|
var rootStyle = holder.parentNode.style;
|
321
|
-
(0, _array.arrayEach)([holderStyle,
|
377
|
+
(0, _array.arrayEach)([holderStyle, hiderStyle, rootStyle], function (style) {
|
322
378
|
style.width = '';
|
323
379
|
style.height = '';
|
324
380
|
});
|
325
381
|
}
|
382
|
+
/**
|
383
|
+
* Determine if Walkontable is running in RTL mode.
|
384
|
+
*
|
385
|
+
* @returns {boolean}
|
386
|
+
*/
|
387
|
+
|
388
|
+
}, {
|
389
|
+
key: "isRtl",
|
390
|
+
value: function isRtl() {
|
391
|
+
return this.wtSettings.getSetting('rtlMode');
|
392
|
+
}
|
326
393
|
/**
|
327
394
|
* Destroy overlay instance.
|
328
395
|
*/
|
@@ -330,7 +397,7 @@ var Overlay = /*#__PURE__*/function () {
|
|
330
397
|
}, {
|
331
398
|
key: "destroy",
|
332
399
|
value: function destroy() {
|
333
|
-
|
400
|
+
this.clone.eventManager.destroy(); // todo check if it is good place for that operation
|
334
401
|
}
|
335
402
|
}]);
|
336
403
|
|