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">←</span> + <span id="sip-dialer-btn-erase" class="btn btn-outline-danger">←</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); -});