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;