[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-3' - loleaflet/src
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Sep 19 06:02:09 UTC 2018
loleaflet/src/control/Control.MobileInput.js | 28 +++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
New commits:
commit 5b33ec605f9a26d7f7070b2b030f8a7c953f96bd
Author: Henry Castro <hcastro at collabora.com>
AuthorDate: Tue Sep 18 21:33:11 2018 -0400
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Sep 19 08:01:49 2018 +0200
loleaflet: mobile: fix input text composition events
Change-Id: I04446f8c29c4901ebe67e49ae8dffcfac286f300
Reviewed-on: https://gerrit.libreoffice.org/60733
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
diff --git a/loleaflet/src/control/Control.MobileInput.js b/loleaflet/src/control/Control.MobileInput.js
index 156cb4294..312c99845 100644
--- a/loleaflet/src/control/Control.MobileInput.js
+++ b/loleaflet/src/control/Control.MobileInput.js
@@ -17,12 +17,16 @@ L.Control.MobileInput = L.Control.extend({
},
onGotFocus: function () {
- this._map.addLayer(this._map._docLayer._cursorMarker);
+ if (this._map._docLayer._cursorMarker) {
+ this._map.addLayer(this._map._docLayer._cursorMarker);
+ }
},
onLostFocus: function () {
- this._textArea.value = '';
- this._map.removeLayer(this._map._docLayer._cursorMarker);
+ if (this._map._docLayer._cursorMarker) {
+ this._textArea.value = '';
+ this._map.removeLayer(this._map._docLayer._cursorMarker);
+ }
},
focus: function(focus) {
@@ -73,6 +77,7 @@ L.Control.MobileInput = L.Control.extend({
L.DomEvent.on(this._textArea, stopEvents, L.DomEvent.stopPropagation)
.on(this._textArea, 'keydown keypress keyup', this.onKeyEvents, this)
.on(this._textArea, 'compositionstart compositionupdate compositionend textInput', this.onCompEvents, this)
+ .on(this._textArea, 'input', this.onInput, this)
.on(this._textArea, 'focus', this.onGotFocus, this)
.on(this._textArea, 'blur', this.onLostFocus, this);
},
@@ -85,6 +90,10 @@ L.Control.MobileInput = L.Control.extend({
unoKeyCode = handler._toUNOKeyCode(keyCode);
this._keyHandled = this._keyHandled || false;
+ if (this._isComposing) {
+ return;
+ }
+
docLayer._resetPreFetching();
if (handler._ignoreKeyEvent({originalEvent: e})) {
// key ignored
@@ -128,11 +137,6 @@ L.Control.MobileInput = L.Control.extend({
if (e.type === 'compositionend') {
this._isComposing = false; // stop of composing with IME
- // get the composited char codes
- // clear the input now - best to do this ASAP so the input
- // is clear for the next word
- //map._clipboardContainer.setValue('');
- // Set all keycodes to zero
map._docLayer._postCompositionEvent(0, 'end', '');
}
@@ -156,6 +160,14 @@ L.Control.MobileInput = L.Control.extend({
for (var idx = 0; idx < data.length; idx++) {
map._docLayer._postKeyboardEvent('input', data[idx].charCodeAt(), 0);
}
+ this._textArea.value = '';
+ }
+ L.DomEvent.stopPropagation(e);
+ },
+
+ onInput: function (e) {
+ if (e.inputType && e.inputType === 'deleteContentBackward' && !this._keyHandled) {
+ this._map._docLayer._postKeyboardEvent('input', 0, this._map.keyboard._toUNOKeyCode(8));
}
L.DomEvent.stopPropagation(e);
}
More information about the Libreoffice-commits
mailing list