loleaflet/src/layer/marker/TextInput.js |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 368f6ff70ee063c4d7322051237c29287d2d296e
Author:     Henry Castro <hcas...@collabora.com>
AuthorDate: Wed Jan 8 11:11:46 2020 -0400
Commit:     Henry Castro <hcas...@collabora.com>
CommitDate: Wed Jan 8 18:23:12 2020 +0100

    loleaflet: prevent auto focus when the page is loaded
    
    It has been added an attribute 'disabled' when permission is
    'readonly', otherwise it is removed
    
    Change-Id: I64a4cf9a7a754d66862e55805202358b9f83caf8
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/86442
    Reviewed-by: Henry Castro <hcas...@collabora.com>
    Tested-by: Henry Castro <hcas...@collabora.com>

diff --git a/loleaflet/src/layer/marker/TextInput.js 
b/loleaflet/src/layer/marker/TextInput.js
index ec431c267..4a0914b4f 100644
--- a/loleaflet/src/layer/marker/TextInput.js
+++ b/loleaflet/src/layer/marker/TextInput.js
@@ -64,6 +64,7 @@ L.TextInput = L.Layer.extend({
 
                this._emptyArea();
 
+               this._map.on('updatepermission', this._onPermission, this);
                L.DomEvent.on(this._textArea, 'focus blur', this._onFocusBlur, 
this);
 
                // Do not wait for a 'focus' event to attach events if the
@@ -80,13 +81,22 @@ L.TextInput = L.Layer.extend({
                if (this._container) {
                        this.getPane().removeChild(this._container);
                }
-               L.DomEvent.off(this._textArea, 'focus blur', this._onFocusBlur, 
this);
 
+               this._map.off('updatepermission', this._onPermission, this);
+               L.DomEvent.off(this._textArea, 'focus blur', this._onFocusBlur, 
this);
                L.DomEvent.off(this._map.getContainer(), 'mousedown 
touchstart', this._abortComposition, this);
 
                this._map.removeLayer(this._cursorHandler);
        },
 
+       _onPermission: function(e) {
+               if (e.perm === 'edit') {
+                       this._textArea.removeAttribute('disabled');
+               } else {
+                       this._textArea.setAttribute('disabled', true);
+               }
+       },
+
        _onFocusBlur: function(ev) {
                this._fancyLog(ev.type, '');
 
@@ -191,6 +201,9 @@ L.TextInput = L.Layer.extend({
                // See 
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-wrap
                this._textArea.setAttribute('wrap', 'off');
 
+               // Prevent autofocus
+               this._textArea.setAttribute('disabled', true);
+
                this._setupStyles();
 
                this._emptyArea();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to