Index: openacs-4/packages/xowiki/www/ajax/chat-common.js
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/ajax/Attic/chat-common.js,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/xowiki/www/ajax/chat-common.js 9 Nov 2018 20:09:40 -0000 1.5
+++ openacs-4/packages/xowiki/www/ajax/chat-common.js 12 Nov 2018 16:35:32 -0000 1.6
@@ -3,6 +3,43 @@
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", "javascript:void(0)");
+
+ // Trigger icon
+ var triggerFSoff = '';
+ var triggerFSon = '';
+ triggerFSlink.innerHTML = triggerFSon;
+
+ // Full screen when clicked
+ triggerFSlink.onclick = () => {
+ var chat = document.getElementById('xowiki-chat');
+ var chatFS = document.getElementById('xowiki-chat-fs');
+ if (chat != null) {
+ chat.id = 'xowiki-chat-fs';
+ triggerFSlink.innerHTML = triggerFSoff;
+ } else if (chatFS != null) {
+ chatFS.id = 'xowiki-chat';
+ triggerFSlink.innerHTML = triggerFSon;
+ }
+ }
+
+ // Add Full screen trigger to the chat
+ const formBlock = document.getElementById('xowiki-chat-messages-form-block');
+ triggerFSblock.appendChild(triggerFSlink);
+ formBlock.appendChild(triggerFSblock);
+}
+
+// Simple function to create links
function createLink(text) {
if (linkRegex != null) {
return text.replace(new RegExp(linkRegex,'g'), function(url) {
@@ -13,6 +50,7 @@
}
}
+// Render the data, being a user or a message
function renderData(json) {
if (json.type == "message") {
renderMessage(json);
@@ -21,6 +59,7 @@
}
}
+// Render the message
function renderMessage(msg) {
var messages = document.getElementById('xowiki-chat-messages');
var user = msg.user.replace(/\\'/g, "\"");
@@ -91,6 +130,7 @@
document.getElementById('xowiki-chat-send').focus();
}
+// Render the user in the user list
function renderUsers(msg) {
var users = document.getElementById('xowiki-chat-users');
while (users.hasChildNodes()) {
@@ -129,6 +169,7 @@
}
}
+// Send the message
function chatSendMsg(send_url, handler) {
var msgField = document.getElementById('xowiki-chat-send');
var msg = msgField.value;