summaryrefslogtreecommitdiffstats
path: root/browser
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2022-06-14 09:47:14 +0200
committerSzymon Kłos <eszkadev@gmail.com>2022-06-24 14:15:56 +0200
commit45148da24b4afa3df4e69f5fdf1de81799633616 (patch)
tree27304e17331adedc7cf503b2527950ac7f956b51 /browser
parentintroduce user stats (diff)
downloadonline-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.js14
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