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 2020/09/25 15:17:06 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2452] sip dialog is fixed

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

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 0ca5029  [OPENMEETINGS-2452] sip dialog is fixed
0ca5029 is described below

commit 0ca5029d032fff2d2c36ec6a3e2b1e42e5754f15
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Fri Sep 25 22:16:50 2020 +0700

    [OPENMEETINGS-2452] sip dialog is fixed
---
 .../web/room/menu/SipDialerDialog.html             | 26 +++----
 .../org/apache/openmeetings/web/room/raw-room.js   | 87 ++++++++++++----------
 2 files changed, 62 insertions(+), 51 deletions(-)

diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.html
index 2b4b38d..63a9d25 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.html
@@ -20,34 +20,34 @@
 -->
 <!DOCTYPE html>
 <html xmlns:wicket="http://wicket.apache.org">
-<wicket:panel>
+<wicket:extend>
 	<div class="sip">
 		<div class="button-row">
 			<form wicket:id="form">
 				<input wicket:id="number" class="sip-number" type="text"/>
-				<span id="sip-dialer-btn-erase">&#8592;</span>
+				<span id="sip-dialer-btn-erase" class="btn btn-outline-danger">&#8592;</span>
 				<input type="submit" wicket:id="submit" class="invisible-form-component"/>
 			</form>
 		</div>
 		<div class="button-row">
-			<button id="sip-dialer-btn-7" data-value="7">7</button>
-			<button id="sip-dialer-btn-8" data-value="8">8</button>
-			<button id="sip-dialer-btn-9" data-value="9">9</button>
+			<button id="sip-dialer-btn-7" class="btn btn-outline-secondary" data-value="7">7</button>
+			<button id="sip-dialer-btn-8" class="btn btn-outline-secondary" data-value="8">8</button>
+			<button id="sip-dialer-btn-9" class="btn btn-outline-secondary" data-value="9">9</button>
 		</div>
 		<div class="button-row">
-			<button id="sip-dialer-btn-4" data-value="4">4</button>
-			<button id="sip-dialer-btn-5" data-value="5">5</button>
-			<button id="sip-dialer-btn-6" data-value="6">6</button>
+			<button id="sip-dialer-btn-4" class="btn btn-outline-secondary" data-value="4">4</button>
+			<button id="sip-dialer-btn-5" class="btn btn-outline-secondary" data-value="5">5</button>
+			<button id="sip-dialer-btn-6" class="btn btn-outline-secondary" data-value="6">6</button>
 		</div>
 		<div class="button-row">
-			<button id="sip-dialer-btn-1" data-value="1">1</button>
-			<button id="sip-dialer-btn-2" data-value="2">2</button>
-			<button id="sip-dialer-btn-3" data-value="3">3</button>
+			<button id="sip-dialer-btn-1" class="btn btn-outline-secondary" data-value="1">1</button>
+			<button id="sip-dialer-btn-2" class="btn btn-outline-secondary" data-value="2">2</button>
+			<button id="sip-dialer-btn-3" class="btn btn-outline-secondary" data-value="3">3</button>
 		</div>
 		<div class="button-row">
-			<button id="sip-dialer-btn-0" data-value="0">0</button>
+			<button id="sip-dialer-btn-0" class="btn btn-outline-secondary" data-value="0">0</button>
 		</div>
 	</div>
 	<div wicket:id="feedback"></div>
-</wicket:panel>
+</wicket:extend>
 </html>
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 3f21532..025f98a 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
@@ -157,8 +157,11 @@ var Room = (function() {
 		Wicket.Event.subscribe("/websocket/error", _close);
 		$(window).on('keydown.openmeetings', _preventKeydown);
 		$(window).on('keyup.openmeetings', _keyHandler);
+		$(window).on('keydown.om-sip', _sipKeyDown);
+		$(window).on('keyup.om-sip', _sipKeyUp);
 		$(document).click(_mouseHandler);
 		_addNoSleep();
+		_initSip();
 	}
 	function _addNoSleep() {
 		_removeNoSleep();
@@ -188,6 +191,8 @@ var Room = (function() {
 		$('.ui-dialog.user-video').remove();
 		$(window).off('keyup.openmeetings');
 		$(window).off('keydown.openmeetings');
+		$(window).off('keydown.om-sip');
+		$(window).off('keyup.om-sip');
 		$(document).off('click', _mouseHandler);
 		sb = undefined;
 		Sharer.close();
@@ -460,6 +465,50 @@ var Room = (function() {
 		}
 		VideoManager.update(c)
 	}
+	function __addSipText(v) {
+		const txt = $('.sip-number');
+		txt.val(txt.val() + v);
+	}
+	function __eraseSipText() {
+		const txt = $('.sip-number')
+			, t = txt.val();
+		if (!!t) {
+			txt.val(t.substring(0, t.length - 1));
+		}
+	}
+	function _initSip() {
+		$('.sip .button-row button').off().click(function() {
+			__addSipText($(this).data('value'));
+		});
+		$('#sip-dialer-btn-erase').off().click(__eraseSipText);
+	}
+	function _sipGetKey(evt) {
+		let k = -1;
+		if (evt.keyCode > 47 && evt.keyCode < 58) {
+			k = evt.keyCode - 48;
+		}
+		if (evt.keyCode > 95 && evt.keyCode < 106) {
+			k = evt.keyCode - 96;
+		}
+		return k;
+	}
+	function _sipKeyDown(evt) {
+		const k = _sipGetKey(evt);
+		if (k > 0) {
+			$('#sip-dialer-btn-' + k).addClass('bg-warning');
+		}
+	}
+	function _sipKeyUp(evt) {
+		if (evt.key === 'Backspace') {
+			__eraseSipText();
+		} else {
+			const k = _sipGetKey(evt);
+			if (k > 0) {
+				$('#sip-dialer-btn-' + k).removeClass('bg-warning');
+				__addSipText(k);
+			}
+		}
+	}
 
 	// Let's re-style jquery-ui dialogs and buttons
 	$.extend($.ui.dialog.prototype.options.classes, {
@@ -509,39 +558,6 @@ var Room = (function() {
 	return self;
 })();
 /***** functions required by SIP   ******/
-function sipBtnClick() {
-	const txt = $('.sip-number');
-	txt.val(txt.val() + $(this).data('value'));
-}
-function sipBtnEraseClick() {
-	const txt = $('.sip-number')
-		, t = txt.val();
-	if (!!t) {
-		txt.val(t.substring(0, t.length - 1));
-	}
-}
-function sipGetKey(evt) {
-	let k = -1;
-	if (evt.keyCode > 47 && evt.keyCode < 58) {
-		k = evt.keyCode - 48;
-	}
-	if (evt.keyCode > 95 && evt.keyCode < 106) {
-		k = evt.keyCode - 96;
-	}
-	return k;
-}
-function sipKeyDown(evt) {
-	const k = sipGetKey(evt);
-	if (k > 0) {
-		$('#sip-dialer-btn-' + k).addClass('ui-state-active');
-	}
-}
-function sipKeyUp(evt) {
-	const k = sipGetKey(evt);
-	if (k > 0) {
-		$('#sip-dialer-btn-' + k).removeClass('ui-state-active');
-	}
-}
 function typingActivity(uid, active) {
 	const u = Room.getClient(uid).find('.typing-activity');
 	if (active) {
@@ -550,8 +566,3 @@ function typingActivity(uid, active) {
 		u.removeClass("typing");
 	}
 }
-$(function() {
-	$('.sip').on('keydown', sipKeyDown).on('keyup', sipKeyUp);
-	$('.sip .button-row button').button().click(sipBtnClick);
-	$('#sip-dialer-btn-erase').button().click(sipBtnEraseClick);
-});