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 2017/12/26 11:45:37 UTC
openmeetings git commit: [OPENMEETINGS-1775] send on enter/ctrl+enter
is implemented
Repository: openmeetings
Updated Branches:
refs/heads/4.0.x ff2db5d44 -> b3c74f7e1
[OPENMEETINGS-1775] send on enter/ctrl+enter is implemented
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/b3c74f7e
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/b3c74f7e
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/b3c74f7e
Branch: refs/heads/4.0.x
Commit: b3c74f7e162f46c2604e5d62f8e81994fcfea38f
Parents: ff2db5d
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Tue Dec 26 18:45:28 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Tue Dec 26 18:45:28 2017 +0700
----------------------------------------------------------------------
.../openmeetings/web/user/chat/ChatToolbar.html | 2 +-
.../openmeetings/web/user/chat/chat-base.js | 50 ++++++++++++++++----
2 files changed, 41 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b3c74f7e/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
index 38e972e..8e5da6c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
@@ -79,7 +79,7 @@
<li><a class="chat-btn chat-tool-icon btn btn-default save" wicket:message="title:197" wicket:id="save"></a></li>
<li><a class="chat-btn chat-tool-icon btn btn-default delete" wicket:message="title:442" wicket:id="delete"></a></li>
<li><a class="chat-btn chat-tool-icon btn btn-default audio" wicket:message="data-sound-enabled:sound.mute,data-sound-muted:sound.enable"> </a></li>
- <li><a class="chat-btn chat-tool-icon btn btn-default send-ctrl" wicket:message="data-send-enter:send.on.enter,data-send-ctrl:send.on.ctrl.enter"><b>↵</b></a></li>
+ <li><a class="chat-btn chat-tool-icon btn btn-default send-btn" wicket:message="data-send-enter:send.on.enter,data-send-ctrl:send.on.ctrl.enter"><b>↵</b></a></li>
</ul>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b3c74f7e/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/chat-base.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/chat-base.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/chat-base.js
index dd12af3..adb6660 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/chat-base.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/chat-base.js
@@ -11,10 +11,11 @@ var Chat = function() {
, iconOpenRoom = 'ui-icon-caret-1-' + (Settings.isRtl ? 'e' : 'w')
, iconClose = 'ui-icon-caret-1-s'
, iconCloseRoom = 'ui-icon-caret-1-' + (Settings.isRtl ? 'w' : 'e')
+ , SEND_ENTER = 'enter', SEND_CTRL = 'ctrl'
;
let p, pp, ctrl, icon, tabs, openedHeight = "345px", openedWidth = "300px", allPrefix = "All"
, roomPrefix = "Room ", typingTimer, audio, roomMode = false, globalWidth = 600
- , editor = $('#chatMessage .wysiwyg-editor')
+ , editor = $('#chatMessage .wysiwyg-editor'), muted = false, sendOn = SEND_CTRL;
;
try {
@@ -28,14 +29,32 @@ var Chat = function() {
function _load() {
const s = Settings.load();
if (typeof(s.chat) === 'undefined') {
- s.chat = {};
+ s.chat = {
+ muted: false
+ , sendOn: SEND_CTRL
+ };
}
+ muted = s.chat.muted === true;
+ sendOn = s.chat.sendOn === SEND_ENTER ? SEND_ENTER : SEND_CTRL;
return s;
}
- function _updateBtn(s, a) {
- const muted = s.chat.muted === true;
- a.removeClass('sound' + (muted ? '' : '-mute')).addClass('sound' + (muted ? '-mute' : ''))
- .attr('title', a.data(muted ? 'sound-enabled' : 'sound-muted'));
+ function _updateAudioBtn(btn) {
+ btn.removeClass('sound' + (muted ? '' : '-mute')).addClass('sound' + (muted ? '-mute' : ''))
+ .attr('title', btn.data(muted ? 'sound-enabled' : 'sound-muted'));
+ }
+ function _updateSendBtn(btn) {
+ const ctrl = sendOn === SEND_CTRL;
+ if (ctrl) {
+ btn.addClass('send-ctrl');
+ editor.off('keydown', _sendOnEnter).keydown('Ctrl+return', _sendOnEnter);
+ } else {
+ btn.removeClass('send-ctrl');
+ editor.off('keydown', _sendOnEnter).keydown('return', _sendOnEnter);
+ }
+ btn.attr('title', btn.data(ctrl ? 'send-ctrl' : 'send-enter'));
+ }
+ function _sendOnEnter() {
+ $('#chat .send').trigger('click');
}
function doneTyping () {
typingTimer = null;
@@ -61,12 +80,23 @@ var Chat = function() {
}
}
const a = $('#chat .audio');
- _updateBtn(_load(), a);
+ const sbtn = $('#chat .send-btn');
+ { //scope
+ _load();
+ _updateAudioBtn(a);
+ _updateSendBtn(sbtn)
+ }
$('#chat .chat-btn').hover(function(){ $(this).addClass('ui-state-hover') }, function(){ $(this).removeClass('ui-state-hover') });
a.off().click(function() {
const s = _load();
- s.chat.muted = !s.chat.muted;
- _updateBtn(s, a);
+ muted = s.chat.muted = !s.chat.muted;
+ _updateAudioBtn(a);
+ Settings.save(s);
+ });
+ sbtn.off().click(function() {
+ const s = _load();
+ sendOn = s.chat.sendOn = s.chat.sendOn !== SEND_CTRL ? SEND_CTRL : SEND_ENTER;
+ _updateSendBtn(sbtn);
Settings.save(s);
});
$('#chat #hyperlink').parent().find('button').off().click(function() {
@@ -182,7 +212,7 @@ var Chat = function() {
if (isClosed()) {
ctrl.addClass('ui-state-highlight');
const s = _load();
- if (p.is(':visible') && s.chat.muted !== true) {
+ if (p.is(':visible') && !muted) {
const playPromise = audio.play();
// In browsers that don’t yet support this functionality,