You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2019/03/05 07:46:28 UTC

[openmeetings] branch OPENMEETINGS-1986-backspace updated: [OPENMEETINGS-1986] backspace seems to be prevented

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch OPENMEETINGS-1986-backspace
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/OPENMEETINGS-1986-backspace by this push:
     new d47f914  [OPENMEETINGS-1986] backspace seems to be prevented
d47f914 is described below

commit d47f914fd3d08ee22c66682b1a2ba459e0df4314
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Tue Mar 5 14:45:57 2019 +0700

    [OPENMEETINGS-1986] backspace seems to be prevented
---
 .../org/apache/openmeetings/web/room/raw-room.js   | 22 +++++++++++++++++-----
 .../apache/openmeetings/web/room/wb/raw-wb-area.js | 12 ------------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
index 3d53ce0..db49da4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
@@ -61,6 +61,18 @@ var Room = (function() {
 		}
 		return null;
 	}
+	function _preventKeydown(e) {
+		const base = $(e.target);
+		if (e.target.isContentEditable === true || base.is('textarea, input:not([readonly]):not([type=radio]):not([type=checkbox])')) {
+			return;
+		}
+		switch (e.which) {
+			case 8:  // backspace
+				e.preventDefault();
+				e.stopImmediatePropagation();
+				return false;
+		}
+	}
 	function _keyHandler(e) {
 		if (e.shiftKey) {
 			switch (e.which) {
@@ -168,12 +180,11 @@ var Room = (function() {
 			});
 			_sbAddResizable();
 		}
-		$(window).on('resize.openmeetings', function() {
-			_setSize();
-		});
+		$(window).on('resize.openmeetings', _setSize);
 		Wicket.Event.subscribe("/websocket/closed", _close);
 		Wicket.Event.subscribe("/websocket/error", _close);
-		$(window).keyup(_keyHandler);
+		$(window).on('keydown.openmeetings', _preventKeydown);
+		$(window).on('keyup.openmeetings', _keyHandler);
 		$(document).click(_mouseHandler);
 	}
 	function _unload() {
@@ -195,7 +206,8 @@ var Room = (function() {
 			_qconf.dialog('destroy');
 		}
 		$('.ui-dialog.user-video').remove();
-		$(window).off('keyup', _keyHandler);
+		$(window).off('keyup.openmeetings');
+		$(window).off('keydown.openmeetings');
 		$(document).off('click', _mouseHandler);
 		sb = undefined;
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
index 1a6ef27..2aac871 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
@@ -88,16 +88,6 @@ var DrawWbArea = function() {
 		}));
 		return false;
 	}
-	function _preventKeydown(e) {
-		if ('BODY' === e.target.tagName) {
-			switch (e.which) {
-				case 8:  // backspace
-					e.preventDefault();
-					e.stopImmediatePropagation();
-					return false;
-			}
-		}
-	}
 	function _deleteHandler(e) {
 		if ('BODY' === e.target.tagName) {
 			switch (e.which) {
@@ -401,13 +391,11 @@ var DrawWbArea = function() {
 	};
 	self.initVideos = _initVideos;
 	self.addDeleteHandler = function() {
-		$(window).keydown(_preventKeydown);
 		if (role === PRESENTER) {
 			$(window).keyup(_deleteHandler);
 		}
 	};
 	self.removeDeleteHandler = function() {
-		$(window).off('keydown', _preventKeydown);
 		$(window).off('keyup', _deleteHandler);
 	};
 	self.updateAreaClass = function() {};