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 9bfa350 [OPENMEETINGS-2165] some issues in chat
9bfa350 is described below
commit 9bfa3502cf9c1fec896b47aee9da78619fa926d9
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Mon Mar 9 23:32:49 2020 +0700
[OPENMEETINGS-2165] some issues in chat
---
.../apache/openmeetings/web/user/chat/Chat.html | 7 +--
.../apache/openmeetings/web/user/chat/raw-chat.js | 54 ++++++++++++++--------
openmeetings-web/src/main/webapp/css/raw-chat.css | 4 ++
3 files changed, 42 insertions(+), 23 deletions(-)
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
index 074eb91..67f4d5c 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
@@ -50,9 +50,10 @@
</div>
<div id="chat-accept-template" class='tick om-icon clickable'
wicket:message="title:1190"
onclick='const e=$(this);chatActivity("accept",
e.data("roomid"), e.data("msgid")); e.parent().remove();'></div>
- <span id="chat-close-block" class='ui-icon ui-icon-close'
wicket:message="title:85"
- role='presentation'></span>
-
+ <button id="chat-close-block" class="btn btn-sm
btn-outline-secondary close-chat" wicket:message="title:85">
+ <i class="fas fa-times"></i>
+ <span class="sr-only"><wicket:message key="85"/></span>
+ </button>
<div id="chat-msg-area-template" class="messageArea bg-white
tab-pane h-100" role="tabpanel">
<div class="clear icons actions short">
<div class='user clickable'
wicket:message="title:1167"><i class="fas fa-address-card"></i></div>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
index 40818e4..1c01e14 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
@@ -126,7 +126,25 @@ var Chat = function() {
return p.hasClass('closed');
}
function activateTab(id) {
- $('#' + id).tab('show');
+ if (isClosed()) {
+ tabs.find('.nav.nav-tabs .nav-link').each(function() {
+ const self = $(this)
+ , tabId = self.attr('aria-controls')
+ , tab = $('#' + tabId);
+
+ if (tabId === id) {
+ self.addClass('active');
+ tab.addClass('active');
+ self.attr('aria-selected', true);
+ } else {
+ self.removeClass('active');
+ tab.removeClass('active');
+ self.attr('aria-selected', false);
+ }
+ });
+ } else {
+ $('#chatTabs li a[aria-controls="' + id +
'"]').tab('show');
+ }
}
function _reinit(opts) {
userId = opts.userId;
@@ -141,21 +159,17 @@ var Chat = function() {
icon = $('#chatPopup .control.block i.fas');
editor = $('#chatMessage .wysiwyg-editor');
icon.removeClass(function(index, className) {
- return (className.match (/(^|\s)ui-icon-caret-\S+/g) ||
[]).join(' ');
+ return (className.match (/(^|\s)fa-angle-\S+/g) ||
[]).join(' ');
});
initToolbar();
tabs = $("#chatTabs");
- /*FIXME TODO.tabs({
- activate: function(event, ui) {
- const ct = ui.newPanel[0].id;
- _scrollDown($('#' + ct));
- $('#activeChatTab').val(ct).trigger('change');
- }
- });*/
- // close icon: removing the tab on click
- tabs.delegate("span.ui-icon-close", "click", function() {
- const panelId =
$(this).closest("li").remove().attr("aria-controls");
- $("#" + panelId).remove();
+ tabs.off().on('shown.bs.tab', function (e) {
+ _scrollDown($('#' + $(e.target).attr('aria-controls')));
+ });
+ tabs.delegate(".btn.close-chat", "click", function() {
+ const panelId =
$(this).closest("a").attr("aria-controls");
+ _removeTab(panelId);
+ $('#chatTabs li:last-child a').tab('show');
});
if (roomMode) {
icon.addClass(isClosed() ? iconOpenRoom :
iconCloseRoom);
@@ -195,7 +209,7 @@ var Chat = function() {
inited = true;
}
function _removeTab(id) {
- $('#chatTabs li
a[aria-controls="chatTab-all"]').parent().remove();
+ $('#chatTabs li a[aria-controls="' + id +
'"]').parent().remove();
$('#' + id).remove();
}
function _addTab(id, label) {
@@ -208,12 +222,12 @@ var Chat = function() {
if (!label) {
label = id === "chatTab-all" ? allPrefix : roomPrefix +
id.substr(9);
}
- const li = $('<li class="nav-item">')
- .append($('<a class="nav-link" data-toggle="tab"
role="tab">')
- .attr('aria-controls', id)
- .attr('href', '#' + id).text(label));
- if (id.indexOf("chatTab-r") !== 0) {
- li.append(OmUtil.tmpl('#chat-close-block'));
+ const link = $('<a class="nav-link" data-toggle="tab"
role="tab">')
+ .attr('aria-controls', id)
+ .attr('href', '#' + id).text(label)
+ , li = $('<li class="nav-item">').append(link);
+ if (id.indexOf("chatTab-u") === 0) {
+ link.append(OmUtil.tmpl('#chat-close-block'));
}
tabs.find('.nav.nav-tabs').append(li);
tabs.find('.tab-content').append(OmUtil.tmpl('#chat-msg-area-template', id));
diff --git a/openmeetings-web/src/main/webapp/css/raw-chat.css
b/openmeetings-web/src/main/webapp/css/raw-chat.css
index 23325c6..3822977 100644
--- a/openmeetings-web/src/main/webapp/css/raw-chat.css
+++ b/openmeetings-web/src/main/webapp/css/raw-chat.css
@@ -28,6 +28,10 @@
#chat #chatTabs .nav.nav-tabs .nav-item .nav-link {
padding: 1px 0.9rem;
}
+#chat #chatTabs .nav.nav-tabs .nav-item .nav-link .close-chat {
+ padding: 2px;
+ line-height:.5em
+}
#chat #chatTabs.ui-tabs .ui-tabs-nav li .ui-icon.ui-icon-close {
float: left;
}