1document.addEventListener("DOMContentLoaded", function () { 2 let chatButton = document.getElementById("chat-button"); 3 let chatButtonPage = document.getElementById("chat-button-page"); 4 let chatPopup = document.getElementById("chat-popup"); 5 let chatClose = document.getElementById("chat-close"); 6 let chatMaximize = document.getElementById("chat-maximize"); 7 let chatIcon = document.getElementById("chat-icon"); 8 9 if (chatButton) { 10 chatButton.addEventListener("click", toggleChatPopup); 11 } 12 if (chatButtonPage) { 13 chatButtonPage.addEventListener("click", toggleChatPopup); 14 } 15 function toggleChatPopup() { 16 if (chatPopup.style.display === "block") { 17 chatPopup.style.display = "none"; 18 } else { 19 chatPopup.style.display = "block"; 20 } 21 } 22 23 if (chatClose) { 24 chatClose.addEventListener("click", function () { 25 chatPopup.style.display = "none"; 26 }); 27 } 28 29 if (chatMaximize) { 30 chatMaximize.addEventListener("click", function () { 31 if (chatPopup.classList.contains("maximized")) { 32 chatPopup.classList.remove("maximized"); 33 chatIcon.src = "/images/chatbot/square.svg"; // Äặt lại URL cá»§a hình ảnh khi phóng to 34 } else { 35 chatPopup.classList.add("maximized"); 36 chatIcon.src = "/images/chatbot/minus.svg"; // Äặt lại URL cá»§a hình ảnh khi thu nhá» 37 } 38 }); 39 } 40});
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.