$(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}
${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 = ``;
$("#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);
});
});