1function chatInit(selector) { 2 document.addEventListener('DOMContentLoaded', () => { 3 if (!window.CHAT_ACTIVE) { 4 let chat = document.querySelector(selector); 5 let toggles = chat.querySelectorAll('.toggle') 6 let close = chat.querySelector('.chat-close') 7 8 // execute if chat is loaded 9 window.setTimeout(() => { 10 console.log("getting previous messages"); 11 12 console.log("chat is active"); 13 //chat.classList.add('is-active') 14 }, 1000) 15 16 toggles.forEach(toggle => { 17 toggle.addEventListener('click', () => { 18 if (!chat.classList.contains('is-active')) { 19 chat.classList.add('is-active') 20 chat.style.width = "360px"; 21 chat.style.height = "600px"; 22 } else { 23 sendMessage(); 24 } 25 }) 26 }) 27 28 close.addEventListener('click', () => { 29 chat.classList.remove('is-active'); 30 chat.style.width = "0"; 31 chat.style.height = "0"; 32 }) 33 34 document.onkeydown = function (evt) { 35 if (!chat.classList.contains('is-active')) 36 return; 37 38 evt = evt || window.event; 39 var isEscape = false; 40 var isEnter = false; 41 if ("key" in evt) { 42 isEscape = (evt.key === "Escape" || evt.key === "Esc"); 43 isEnter = (evt.key === "Enter"); 44 } else { 45 isEscape = (evt.keyCode === 27); 46 isEnter = (evt.keyCode === 13); 47 } 48 if (isEscape) { 49 chat.classList.remove('is-active'); 50 chat.style.width = "0"; 51 chat.style.height = "0"; 52 } 53 if (isEnter) { 54 sendMessage(); 55 } 56 }; 57 58 window.CHAT_ACTIVE = true 59 } 60 }) 61} 62 63function sendMessage() { 64 if (window.CHAT_ACTIVE) { 65 let chatInput = document.querySelector('#chatInput'); 66 let message = chatInput.value; 67 if (message !== '' && message !== undefined) { 68 $('#chatMessages').append('<div class="message"><p class="text">' + message + '</p></div>') 69 chatInput.value = ""; 70 71 console.log("sending ..."); 72 } 73 } else { 74 console.log("Chat wasn't initialized yet."); 75 } 76} 77 78function receiveMessage(message) { 79 if (window.CHAT_ACTIVE) { 80 $('#chatMessages').append('<div class="message reply"><p class="text">' + message + '</p></div>') 81 console.log("receiving ..."); 82 } else { 83 console.log("Chat wasn't initialized yet."); 84 } 85} 86 87function getMessages() { 88 if (window.CHAT_ACTIVE) { 89 console.log("loading messages ..."); 90 } else { 91 console.log("Chat wasn't initialized yet."); 92 } 93}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.