112 lines
2.8 KiB
JavaScript
112 lines
2.8 KiB
JavaScript
|
|
|
|
|
|
$(document).ready(
|
|
check_new_messages_timeout()
|
|
|
|
)
|
|
|
|
|
|
|
|
var check_msg = null
|
|
var it = 0
|
|
|
|
function check_new_messages_timeout(){
|
|
|
|
|
|
let window = document.querySelector(".container-messages")
|
|
if (window !== null){
|
|
|
|
|
|
}
|
|
check_msg = setInterval(function () {
|
|
|
|
window = document.querySelector(".container-messages")
|
|
if (window === null){
|
|
//
|
|
} else {
|
|
it = 0
|
|
check_new_messages(window,it)
|
|
}
|
|
},
|
|
1000)
|
|
}
|
|
|
|
|
|
|
|
|
|
var data_new_messages = null
|
|
|
|
function check_new_messages (window,it){
|
|
if (it === 0){
|
|
let data_set = document.querySelector(".container-messages").dataset
|
|
let sender = data_set['userId'];
|
|
let receiver = data_set['curReceiver'];
|
|
let ticket_id = data_set['ticketId'];
|
|
data_new_messages = {
|
|
'sender': sender,
|
|
'receiver': receiver,
|
|
'ticket_id': ticket_id
|
|
// 'last_message_modifiteDT':last_message_time
|
|
}
|
|
}
|
|
// let user_online_check = document.addEventListener("mouseover");
|
|
let last_message_time = document.querySelector(".date_n_time_last_message")
|
|
if (last_message_time === null){
|
|
//
|
|
} else {
|
|
data_new_messages.last_message_modifiedDT = last_message_time.dataset['modifieddt']
|
|
}
|
|
|
|
$.ajax({
|
|
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
|
|
url: '/ru/messages/update_chat/',
|
|
type: "POST",
|
|
// async: true,
|
|
cache: false,
|
|
processData: false,
|
|
contentType: false,
|
|
// enctype: 'json',
|
|
data: JSON.stringify(data_new_messages),
|
|
success: function(data){
|
|
success_check_new_messages(data)
|
|
|
|
},
|
|
error: function (data){
|
|
|
|
let request = document.querySelector(".info_profile").innerHTML = data.responseJSON.html;
|
|
if (request === undefined || window === null){
|
|
clearTimeout(check_msg)
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
function success_check_new_messages (data) {
|
|
if (window === null){
|
|
clearTimeout(check_msg)
|
|
} else {
|
|
if (data.html) {
|
|
if (data_new_messages['ticket_id'] !== 'null') {
|
|
if (data.msgs_count > 1) {
|
|
document.querySelector(".container-messages").innerHTML = data.html;
|
|
} else {
|
|
document.querySelector(".info_profile").innerHTML = data.html;
|
|
}
|
|
} else {
|
|
document.querySelector(".container-messages").innerHTML = data.html;
|
|
}
|
|
}
|
|
if (data.upd_right_panel === true){
|
|
document.querySelector(".block-list-of-users")
|
|
}
|
|
}
|
|
if (data.required_beep === true){
|
|
const beep = new Audio('/static/sounds/beep_2.mp3')
|
|
beep.play()
|
|
}
|
|
|
|
|
|
}
|