diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2022-06-14 09:47:14 +0200 |
---|---|---|
committer | Szymon Kłos <eszkadev@gmail.com> | 2022-06-24 14:15:56 +0200 |
commit | 45148da24b4afa3df4e69f5fdf1de81799633616 (patch) | |
tree | 27304e17331adedc7cf503b2527950ac7f956b51 /browser | |
parent | introduce user stats (diff) | |
download | online-45148da24b4afa3df4e69f5fdf1de81799633616.tar.gz online-45148da24b4afa3df4e69f5fdf1de81799633616.zip |
Don't focus map on .uno:CellCursor message when widget is focused
Just after we opened spreadsheet and opened font list - it was
closed after some seconds due to focus change caused by
.uno:CellCursor update.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifabde00163567ab7d4f3f8359d58b4251fff5ec3
Diffstat (limited to 'browser')
-rw-r--r-- | browser/src/layer/tile/CanvasTileLayer.js | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/browser/src/layer/tile/CanvasTileLayer.js b/browser/src/layer/tile/CanvasTileLayer.js index 9781c2f6dd..b2216077bf 100644 --- a/browser/src/layer/tile/CanvasTileLayer.js +++ b/browser/src/layer/tile/CanvasTileLayer.js @@ -3576,7 +3576,14 @@ L.CanvasTileLayer = L.Layer.extend({ }, _isAnyInputFocused: function() { - return $('input:focus').length > 0; + var hasTunneledDialogOpened = this._map.dialog ? this._map.dialog.hasOpenedDialog() : false; + var hasJSDialogOpened = this._map.jsdialog ? this._map.jsdialog.hasDialogOpened() : false; + var hasJSDialogFocused = L.DomUtil.hasClass(document.activeElement, 'jsdialog'); + var commentHasFocus = app.view.commentHasFocus; + var inputHasFocus = $('input:focus').length > 0 || $('textarea.jsdialog:focus').length > 0; + + return hasTunneledDialogOpened || hasJSDialogOpened || hasJSDialogFocused + || commentHasFocus || inputHasFocus; }, // enable or disable blinking cursor and the cursor overlay depending on @@ -4271,10 +4278,7 @@ L.CanvasTileLayer = L.Layer.extend({ this._addDropDownMarker(); - var hasTunneledDialogOpened = this._map.dialog ? this._map.dialog.hasOpenedDialog() : false; - var hasJSDialogOpened = this._map.jsdialog ? this._map.jsdialog.hasDialogOpened() : false; - - var dontFocusDocument = hasTunneledDialogOpened || hasJSDialogOpened || app.view.commentHasFocus || this._isAnyInputFocused(); + var dontFocusDocument = this._isAnyInputFocused(); // when the cell cursor is moving, the user is in the document, // and the focus should leave the cell input bar |