98 lines
2.4 KiB
JavaScript
98 lines
2.4 KiB
JavaScript
|
|
|
|
|
|
$(document).ready(
|
|
checkOpenWindow()
|
|
|
|
)
|
|
|
|
|
|
|
|
function checkOpenWindow (window=null){
|
|
if (window === null){
|
|
check_window_tm()
|
|
} else {
|
|
|
|
var data_set = document.querySelector(".container-messages").dataset
|
|
var sender = data_set['userId'];
|
|
var receiver = data_set['curReceiver'];
|
|
var ticket_id = data_set['ticketId'];
|
|
|
|
|
|
var data = {
|
|
'sender': sender,
|
|
'receiver': receiver,
|
|
'ticket_id': ticket_id
|
|
// 'last_message_modifiteDT':last_message_time
|
|
}
|
|
timeout(data)
|
|
|
|
}
|
|
}
|
|
|
|
function check_window_tm(){
|
|
let window = document.querySelector(".container-messages")
|
|
let intervl = setInterval(function () {
|
|
|
|
window = document.querySelector(".container-messages")
|
|
if (window !== null){
|
|
clearInterval(intervl)
|
|
checkOpenWindow(window)
|
|
}
|
|
console.log("1")
|
|
},
|
|
1000)
|
|
}
|
|
|
|
var check_msg = null
|
|
|
|
function timeout (data){
|
|
let window = document.querySelector(".container-messages")
|
|
|
|
check_msg = setInterval(check_new_messages, 1000,window,data)
|
|
|
|
}
|
|
|
|
function check_new_messages (window,data){
|
|
// 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.last_message_modifiteDT = 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),
|
|
success: function(data){
|
|
|
|
if (data.msgs_count > 1){
|
|
document.querySelector(".container-messages").innerHTML = data.html;
|
|
} else {
|
|
document.querySelector(".info_profile").innerHTML = data.html;
|
|
}
|
|
if (window === null){
|
|
clearTimeout(check_msg)
|
|
checkOpenWindow()
|
|
}
|
|
|
|
|
|
},
|
|
error: function (data){
|
|
|
|
document.querySelector(".info_profile").innerHTML = data.responseJSON.html;
|
|
if (window === null){
|
|
clearTimeout(check_msg)
|
|
checkOpenWindow()
|
|
}
|
|
}
|
|
});
|
|
} |