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 <solomax...@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);
-});

Reply via email to