$(function () { moment().format(); const server = "http://localhost:5005"; // const server = "https://164.92.112.47:5005"; let current_user = ''; let current_user_id = 0 let socket = io(server, { transports: ['websocket'] }); if (typeof io !== 'undefined') { } $(".list").empty(); $("#chat__page").empty(); $("#chat__page").html(`

Click to Open Conversation

`); const format_format = "YYYY-MM-DD HH:mm:ss" let today = new Date(); socket.on('connect', () => { console.log('Socket Server Connected On Admin Side'); console.log(socket.id); let data = { socket: socket.id, email: 'admin' } $(".list").empty(); socket.emit("user__connected", data); socket.emit("fetch__users", data); }); socket.on('fetch__users', function (data) { console.log(data) $(".list").empty(); data.map(function (user) { let li = `
  • ${user.email}
    ${user.email}
    ${decodeURIComponent(user.last_msg)}
  • `; $(".list").append(li); }); $('.openChatBox').click(function () { let email = $(this).attr('data-email'); let data = { socket: socket.id, email: email } socket.emit("open__chatBox", data); }); }); socket.on('open__chatBox', function (data) { current_user = data.data.email; current_user_id = data.user_id; let chatContainer = `
    ${data.data.email || null}
    `; $("#chat__page").empty(); $("#chat__page").html(chatContainer); $("#messages__list__" + current_user_id).empty() let msgLi = ''; data.msg.map(function (msg) { if (msg.send_by === 'admin') { let shortTime = moment(msg.created_at).format('hh:mm: A'); msgLi += `
  • ${shortTime}
    ${decodeURIComponent(msg.message)}
  • `; } else { let shortTime = moment(msg.created_at).format('hh:mm: A'); msgLi += `
  • ${shortTime}
    ${decodeURIComponent(msg.message)}
  • `; } $("#messages__list__" + current_user_id).html(msgLi); }); $(".chat-history").stop().animate({ scrollTop: $(".chat-history")[0].scrollHeight }, 1000); // $('#chat-input').keydown(function (e) { // if (e.keyCode === 13 && e.ctrlKey) { // $(this).val(function(i,val){ // //console.log( val + "\n"); // return val + "\n"; // }); // } // }).keypress(function(e){ // if (e.keyCode === 13 && !e.ctrlKey) { // // return false; // } // }); $("#chat-submit").click(function (e) { let msg = $("#chat-input").val(); if (msg) { e.preventDefault(); if (msg.trim() === '') { return false; } let data = { "socket": socket.id, "from": 'admin', "to": current_user, "msg": encodeURIComponent(msg), "send_by": 'admin' } const send__message__toAdmin = (data) => { socket.emit("send__message__toAdmin", data); } send__message__toAdmin(data); } $("#chat-input").val(''); }); }); socket.on('receive__user__message', (data) => { console.log('receive__user__message'); console.log(data) let msgLi = ``; msgLi += `
  • ${moment().format('hh:mm: A')}
    ${decodeURIComponent(data.msg)}
  • `; $("#messages__list__" + data.user_id).append(msgLi); if (("#messages__list").length > 0) { $(".chat-history").stop().animate({ scrollTop: $(".chat-history")[0].scrollHeight }, 1000); } }); socket.on('send__message__toAdmin', (data) => { console.log(data); let msgLi = ``; msgLi += `
  • ${moment().format('hh:mm: A')}
    ${decodeURIComponent(data)}
  • `; //$("#messages__list").append(msgLi); $("#messages__list__" + current_user_id).append(msgLi); $(".chat-history").stop().animate({ scrollTop: $(".chat-history")[0].scrollHeight }, 1000); }); socket.on('refreshUsers', (data) => { console.log(data); let li = `
  • ${data.email}
    ${data.email}
  • `; //$(".list").append(li); }); });