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 2018/07/26 11:57:33 UTC
[openmeetings] branch master updated: [OPENMEETINGS-1891]
'chat.send.on.enter' setting is added
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 aa4551a [OPENMEETINGS-1891] 'chat.send.on.enter' setting is added
aa4551a is described below
commit aa4551ab730a7a9092f8a89476e8b8465217dd9e
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu Jul 26 18:56:55 2018 +0700
[OPENMEETINGS-1891] 'chat.send.on.enter' setting is added
---
.../apache/openmeetings/db/dao/basic/ConfigurationDao.java | 10 ++++++++++
.../apache/openmeetings/installation/ImportInitvalues.java | 3 +++
.../org/apache/openmeetings/util/OpenmeetingsVariables.java | 10 ++++++++++
.../java/org/apache/openmeetings/web/user/chat/Chat.java | 7 +++++--
.../java/org/apache/openmeetings/web/user/chat/chat-base.js | 12 +++++++-----
5 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 8fa25f8..16c40f2 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@ -21,6 +21,7 @@ package org.apache.openmeetings.db.dao.basic;
import static org.apache.commons.lang3.math.NumberUtils.toInt;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CHAT_SEND_ON_ENTER;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
@@ -54,6 +55,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.setApplicationN
import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioBitrate;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioRate;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setBaseUrl;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setChatSenndOnEnter;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setCryptClassName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultGroup;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultLang;
@@ -355,6 +357,9 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
case CONFIG_LNAME_MIN_LENGTH:
reloadLnameMinLength();
break;
+ case CONFIG_CHAT_SEND_ON_ENTER:
+ reloadChatSendOnEnter();
+ break;
}
return entity;
}
@@ -450,6 +455,10 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
setMinLnameLength(getInt(CONFIG_LNAME_MIN_LENGTH, USER_LOGIN_MINIMUM_LENGTH));
}
+ private void reloadChatSendOnEnter() {
+ setChatSenndOnEnter(getBool(CONFIG_CHAT_SEND_ON_ENTER, false));
+ }
+
public void reinit() {
reloadMaxUpload();
reloadCrypt();
@@ -469,6 +478,7 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
reloadSipContext();
reloadFnameMinLength();
reloadLnameMinLength();
+ reloadChatSendOnEnter();
}
private JSONObject reloadRoomSettings() {
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index 90f212e..302ca2a 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICAT
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPOINTMENT_REMINDER_MINUTES;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CALENDAR_ROOM_CAPACITY;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CHAT_SEND_ON_ENTER;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_RSS_FEED1;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_RSS_FEED2;
@@ -344,6 +345,8 @@ public class ImportInitvalues {
"Number of chars needed in a user first name", "4.0.4");
addCfg(list, CONFIG_LNAME_MIN_LENGTH, String.valueOf(USER_LOGIN_MINIMUM_LENGTH), Configuration.Type.number,
"Number of chars needed in a user last name", "4.0.4");
+ addCfg(list, CONFIG_CHAT_SEND_ON_ENTER, String.valueOf(false), Configuration.Type.bool,
+ "Controls if chat message will be set on Enter (default: send on Ctrl+Enter)", "4.0.5");
return list;
}
public void loadConfiguration(InstallationConfig cfg) {
diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index d7015d6..c59ec1f 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -96,6 +96,7 @@ public class OpenmeetingsVariables {
public static final String CONFIG_REST_ALLOW_ORIGIN = "rest.allow.origin";
public static final String CONFIG_FNAME_MIN_LENGTH = "user.fname.minimum.length";
public static final String CONFIG_LNAME_MIN_LENGTH = "user.lname.minimum.length";
+ public static final String CONFIG_CHAT_SEND_ON_ENTER = "chat.send.on.enter";
public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN";
public static final String HEADER_CSP_SELF = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; media-src 'self' blob:;";
@@ -141,6 +142,7 @@ public class OpenmeetingsVariables {
private static String sipContext = DEFAULT_SIP_CONTEXT;
private static int minFnameLength = USER_LOGIN_MINIMUM_LENGTH;
private static int minLnameLength = USER_LOGIN_MINIMUM_LENGTH;
+ private static boolean chatSendOnEnter = false;
private OpenmeetingsVariables() {}
@@ -323,4 +325,12 @@ public class OpenmeetingsVariables {
public static void setMinLnameLength(int length) {
minLnameLength = length;
}
+
+ public static boolean getChatSenndOnEnter() {
+ return chatSendOnEnter;
+ }
+
+ public static void setChatSenndOnEnter(boolean sendOnEnter) {
+ chatSendOnEnter = sendOnEnter;
+ }
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
index e2a30ea..2e28c71 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
@@ -43,6 +43,7 @@ import org.apache.openmeetings.db.entity.basic.ChatMessage;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.web.app.ClientManager;
import org.apache.openmeetings.web.common.MainPanel;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
@@ -142,8 +143,10 @@ public class Chat extends Panel {
public CharSequence getReinit() {
StringBuilder sb = new StringBuilder("Chat.reinit(")
- .append('\'').append(getString("1494")).append('\'')
- .append(',').append('\'').append(getString("406")).append('\'')
+ .append(new JSONObject()
+ .put("all", getString("1494"))
+ .put("room", getString("406"))
+ .put("sendOnEnter", OpenmeetingsVariables.getChatSenndOnEnter()).toString())
.append("); ");
return processGlobal(sb);
}
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 8c9e556..b1685e9 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
@@ -15,7 +15,7 @@ var Chat = function() {
;
let p, pp, ctrl, icon, tabs, openedHeight = "345px", openedWidth = "300px", allPrefix = "All"
, roomPrefix = "Room ", typingTimer, audio, roomMode = false, globalWidth = 600
- , editor = $('#chatMessage .wysiwyg-editor'), muted = false, sendOn = SEND_CTRL;
+ , editor = $('#chatMessage .wysiwyg-editor'), muted = false, sendOn, DEF_SEND;
;
try {
@@ -31,7 +31,7 @@ var Chat = function() {
if (typeof(s.chat) === 'undefined') {
s.chat = {
muted: false
- , sendOn: SEND_CTRL
+ , sendOn: DEF_SEND
};
}
muted = s.chat.muted === true;
@@ -115,9 +115,11 @@ var Chat = function() {
function isInited() {
return !!$("#chatTabs").data("ui-tabs");
}
- function _reinit(_allPrefix, _roomPrefix) {
- allPrefix = _allPrefix;
- roomPrefix = _roomPrefix;
+ function _reinit(opts) {
+ allPrefix = opts.all;
+ roomPrefix = opts.room;
+ DEF_SEND = opts.sendOnEnter === true ? SEND_ENTER : SEND_CTRL;
+ sendOn = DEF_SEND;
p = $('#chatPanel');
clearTimeout(p.data('timeout'));
pp = $('#chatPanel, #chatPopup');