[Libreoffice-commits] online.git: loleaflet/src

Mihai Varga mihai.varga at collabora.com
Tue Jun 30 01:35:31 PDT 2015


 loleaflet/src/layer/tile/TileLayer.js |   30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

New commits:
commit d0f420bc812b59a68f0f7a48ba9c79104b87313b
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Tue Jun 30 11:34:24 2015 +0300

    Added a set of keys that need to be handled on the keydown event

diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index fbe61f6..7a6c19c 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -92,6 +92,26 @@ L.TileLayer = L.GridLayer.extend({
 		222 : null  // single quote	: UNKOWN
 	},
 
+	handleOnKeyDown: {
+		// these keys need to be handled on keydown in order for them
+		// to work on chrome
+		8   : true, // backspace
+		9   : true, // tab
+		19  : true, // pause/break
+		20  : true, // caps lock
+		27  : true, // escape
+		33  : true, // page up
+		34  : true, // page down
+		35  : true, // end
+		36  : true, // home
+		37  : true, // left arrow
+		38  : true, // up arrow
+		39  : true, // right arrow
+		40  : true, // down arrow
+		45  : true, // insert
+		46  : true // delete
+	},
+
 	initialize: function (url, options) {
 
 		this._url = url;
@@ -825,16 +845,10 @@ L.TileLayer = L.GridLayer.extend({
 
 		var charCode = e.originalEvent.charCode;
 		var keyCode = e.originalEvent.keyCode;
-		// TODO handle browser differences
-		if (e.type === 'keydown' && keyCode === 8) {
-			// chrome backspace
+		if (e.type === 'keydown' && this.handleOnKeyDown[keyCode]) {
 			this._postKeyboardEvent('input', charCode, this._toUNOKeyCode(keyCode));
 		}
-		else if (e.type === 'keypress') {
-			if (keyCode === 8) {
-				// backspace has already been handled
-				return;
-			}
+		else if (e.type === 'keypress' && !this.handleOnKeyDown[keyCode]) {
 			if (charCode === keyCode && charCode !== 13) {
 				// Chrome sets keyCode = charCode for printable keys
 				// while LO requires it to be 0


More information about the Libreoffice-commits mailing list