Index: openacs-4/packages/xowiki/www/resources/chat-skins/chat-minimal.js
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/resources/chat-skins/chat-minimal.js,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/xowiki/www/resources/chat-skins/chat-minimal.js 8 Apr 2020 13:34:39 -0000 1.1.2.1
+++ openacs-4/packages/xowiki/www/resources/chat-skins/chat-minimal.js 7 Mar 2023 16:26:04 -0000 1.1.2.2
@@ -3,6 +3,48 @@
var previous_user_id = "";
var current_color = "";
+// Full screen
+function addFullScreenLink() {
+
+ // Full screen trigger block
+ const triggerFSblock = document.createElement("div");
+ triggerFSblock.className = 'xowiki-chat-trigger-fs-block';
+
+ // Full screen trigger
+ const triggerFSlink = document.createElement("a");
+ triggerFSlink.className = 'xowiki-chat-trigger-fs-link';
+ triggerFSlink.setAttribute("href", "#");
+
+ // Trigger icon
+ var triggerFSoff = '';
+ var triggerFSon = '';
+ triggerFSlink.innerHTML = triggerFSon;
+
+ // Full screen when clicked
+ triggerFSlink.addEventListener("click", function(event) {
+ event.preventDefault();
+ var chat = document.getElementById('xowiki-chat');
+ var chatFS = document.getElementById('xowiki-chat-fs');
+ if (chat != null) {
+ chat.id = 'xowiki-chat-fs';
+ triggerFSlink.innerHTML = triggerFSoff;
+ document.body.style.overflow = "hidden";
+ } else if (chatFS != null) {
+ chatFS.id = 'xowiki-chat';
+ triggerFSlink.innerHTML = triggerFSon;
+ document.body.style.overflow = "scroll";
+ }
+ // Scroll down the messages
+ var messages = document.getElementById('xowiki-chat-messages');
+ messages.scrollTop = messages.scrollHeight;
+ });
+
+ // Add Full screen trigger to the chat
+ const formBlock = document.getElementById('xowiki-chat-messages-form-block');
+ triggerFSblock.appendChild(triggerFSlink);
+ formBlock.appendChild(triggerFSblock);
+}
+
// Send link pic
function addSendPic() {
@@ -20,14 +62,19 @@
var user = msg.user.replace(/\\'/g, "\"");
var message = createLink(msg.message);
var user_id = msg.user_id;
+ var my_user = document.getElementById('xowiki-my-user-id');
+ var my_user_id = chatGetMyUserId();
var color = msg.color;
- // Message block
message_block = document.createElement('div');
- message_block.className = 'xowiki-chat-message-block';
+ if (user_id != my_user_id) {
+ message_block.className = 'xowiki-chat-message-block';
+ } else {
+ message_block.className = 'xowiki-chat-message-block-me';
+ }
// User picture
- wrapper = document.createElement('div');
+ wrapper = document.createElement('span');
wrapper.className = 'xowiki-chat-user-pic-wrap';
if (show_avatar) {
img = document.createElement('img');
@@ -38,33 +85,51 @@
}
message_block.appendChild(wrapper);
- // Timestamp
- span = document.createElement('span');
- span.innerHTML = msg.timestamp.replace(/\[|\]/g, "");
- span.className = 'xowiki-chat-timestamp';
- message_block.appendChild(span);
-
// User block
- user_block = document.createElement('div');
+ user_block = document.createElement('span');
user_block.className = 'xowiki-chat-user-block';
+ // User link
+ a = document.createElement('a');
+ if (user_id != my_user_id) {
+ a.href = '/shared/community-member?user%5fid=' + user_id;
+ } else {
+ a.href = '/pvt/home';
+ }
+ a.target = '_blank';
+ a.className = 'xowiki-chat-user-link';
+
// User name
span = document.createElement('span');
span.textContent = user;
span.setAttribute("class", "xowiki-chat-user");
span.setAttribute("style", "color:" + color);
- user_block.appendChild(span);
+ a.appendChild(span);
+ user_block.appendChild(a);
previous_user_id = user_id;
current_color = color;
message_block.appendChild(user_block);
+ // Timestamp
+ span = document.createElement('span');
+ span.innerHTML = msg.timestamp + ' ';
+ if (user_id != my_user_id) {
+ span.className = 'xowiki-chat-timestamp';
+ } else {
+ span.className = 'xowiki-chat-timestamp-me';
+ }
+ message_block.appendChild(span);
+
// Message body
span = document.createElement('span');
span.innerHTML = message;
- span.className = 'xowiki-chat-message';
+ if (user_id != my_user_id) {
+ span.className = 'xowiki-chat-message';
+ } else {
+ span.className = 'xowiki-chat-message-me';
+ }
message_block.appendChild(span);
-
messages.appendChild(message_block);
messages.scrollTop = messages.scrollHeight;