99 lines
3.4 KiB
JavaScript
99 lines
3.4 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 = inital_old_tab()
|
|
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)
|
|
|
|
|
|
} 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)
|
|
}
|
|
|
|
}
|
|
}
|