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 10:52:46 UTC

[openmeetings] branch 4.0.x 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 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


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

commit 0b9ce4aed93566fff82703ef4507dad9f74539df
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Tue Mar 5 17:52:36 2019 +0700

    [OPENMEETINGS-1986] backspace seems to be prevented
---
 .../org/apache/openmeetings/web/room/raw-room.js   | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 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;
 	}