140 lines
4.7 KiB
JavaScript
140 lines
4.7 KiB
JavaScript
chatSocket = new WebSocket(ws_url);
|
|
|
|
function sendMessageSocket (data) {
|
|
chatSocket.send(JSON.stringify(data));
|
|
if (!data.ticket_id){
|
|
let el_tab = document.querySelector(".tab_user_messanger.select")
|
|
if (el_tab !== null){
|
|
el_tab.querySelector(".last-message-messenger-user-tab").innerHTML = data['text']
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
chatSocket.onmessage = function (e) {
|
|
|
|
let old_item_tab_user_list = inital_old_tab()
|
|
let old_item_tab_user = old_item_tab_user_list[0]
|
|
let el_tab = old_item_tab_user_list[1]
|
|
let data = JSON.parse(e.data);
|
|
console.log('Data:', data);
|
|
console.log("return")
|
|
let msg_cont = document.querySelector(".container-messages")
|
|
if (data.type === 'chat') {
|
|
document.querySelector(".container-messages").innerHTML = data.html;
|
|
document.querySelector(".enter-message-inp").focus()
|
|
} else if (data.type === "echo") {
|
|
console.log(data)
|
|
} else if (data.type === "update_chat") {
|
|
let msg_cont = document.querySelector(".container-messages")
|
|
|
|
update_chat_html(data,msg_cont)
|
|
|
|
// update_tickets_w_manager(data,old_item_tab_user)
|
|
//
|
|
// update_tickets_wo_manager(data,old_item_tab_user)л
|
|
|
|
update_tickets_operations_manager(data,old_item_tab_user,'w')
|
|
|
|
update_tickets_operations_manager(data,old_item_tab_user,null,'wo')
|
|
|
|
update_list_w_users(data,old_item_tab_user,el_tab)
|
|
|
|
|
|
} else if (data.type === "update_support_chat"){
|
|
update_support_chat_func(data)
|
|
}
|
|
if (data.unread_msgs_count > 0){
|
|
update_count_unread_messages(data)
|
|
}
|
|
if (data.required_beep === true) {
|
|
play_required_beep(data)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function update_tickets_operations_manager (data,old_item_tab_user,w=null,wo=null) {
|
|
let insert_type = null
|
|
if (w !== null){
|
|
insert_type = 'data.tickets_w_manager_html'
|
|
} else if (wo !== null){
|
|
insert_type = 'data.tickets_wo_manager_html'
|
|
}
|
|
if (insert_type) {
|
|
if (document.querySelector(".list_linked_tickets") !== null || document.querySelector(".list_unlinked_tickets") !== null) {
|
|
document.querySelector(".list_unlinked_tickets").innerHTML = insert_type
|
|
// if (el_tab !== null) {
|
|
// let select_tab = document.querySelector(".tab_user_messanger.select")
|
|
// if (select_tab) {
|
|
// select_tab.classList.remove("select")
|
|
// }
|
|
// let old_insert_tab = document.querySelector(`[data-cur-receiver-item="${old_item_tab_user}"]`)
|
|
// if (old_insert_tab) {
|
|
// old_insert_tab.classList.add("select")
|
|
// old_insert_tab.scrollIntoView({behavior: "smooth"});
|
|
// }
|
|
//
|
|
// }
|
|
// let container_messenger = document.querySelector(".container-messages")
|
|
// if (container_messenger){
|
|
// let dataset_cont_mes = container_messenger.dataset
|
|
// if (dataset_cont_mes){
|
|
// let ticket_id = dataset_cont_mes["ticketId"]
|
|
// if (ticket_id !== ""){
|
|
// let ticket = document.querySelector(`[data-cur-receiver-item="${ticket_id}"]`)
|
|
// if (ticket === null){
|
|
// let chat = document.querySelector(".block-chat").innerHTML = ""
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
select_and_scroll_to_ticket(data,old_item_tab_user)
|
|
clear_messenger(data)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
// let url = `ws://localhost:8000/ws/socket-server/`;
|
|
//
|
|
// const chatSocket = new WebSocket(url);
|
|
//
|
|
// chatSocket.onmessage = function (e) {
|
|
// let data = JSON.parse(e.data)
|
|
// console.log('Data: ', data)
|
|
//
|
|
// if (data.type === 'chat') {
|
|
// // let messages = document.getElementById('messages')
|
|
// //
|
|
// // messages.insertAdjacentHTML('beforeend', `<div>
|
|
// // <p>${data.message}</p>
|
|
// // </div>`
|
|
// // )
|
|
// document.querySelector(".container-messages").innerHTML = data.html;
|
|
// document.querySelector(".enter-message-inp").focus()
|
|
// }
|
|
//
|
|
// }
|
|
|
|
// function send_ws_msg(data) {
|
|
// chatSocket.send(JSON.stringify(data));
|
|
// }
|
|
|
|
// window.onload = function () {
|
|
//
|
|
// let btn = document.querySelector(".send-message")
|
|
//
|
|
// btn.addEventListener('click', (e) => {
|
|
// e.preventDefault()
|
|
// // let message = e.target.message.value
|
|
// chatSocket.send(JSON.stringify({
|
|
// 'data':'data'
|
|
// }))
|
|
// // btn.reset()
|
|
// })
|
|
// }
|
|
// let form = document.getElementById('form')
|