177 lines
5.2 KiB
JavaScript
177 lines
5.2 KiB
JavaScript
window.onload = function () {
|
|
funcFocus()
|
|
}
|
|
|
|
//
|
|
// document.querySelector(".enter-message-inp").onload(
|
|
// funcFocus()
|
|
// )
|
|
|
|
function funcFocus(){
|
|
|
|
let inp = document.querySelector(".enter-message-inp")
|
|
if (inp !== null){
|
|
inp.focus()
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var check_msg = null
|
|
var it = 0
|
|
|
|
|
|
|
|
// function initial_function (){
|
|
// var it_set_func = 0
|
|
// var it_func = 0
|
|
// check_new_messages_timeout(60000,it_set_func,it_func)
|
|
// }
|
|
|
|
function check_new_messages_timeout(timeout_time=1000){
|
|
|
|
|
|
let window = document.querySelector(".container-messages")
|
|
// if (window !== null){
|
|
//
|
|
//
|
|
// }
|
|
// if (it_set_func === 0){
|
|
// // clearInterval(check_msg)
|
|
// if (window === null){
|
|
// it_set_func++
|
|
// check_new_messages_timeout(60000,it_set_func,it_func)
|
|
// } else {
|
|
// let new_timeout_time = 1000
|
|
// it_set_func++
|
|
// check_new_messages_timeout(new_timeout_time,it_set_func,it_func)
|
|
// }
|
|
//
|
|
// }
|
|
check_msg = setInterval(function () {
|
|
|
|
// let new_message = getNewMessageSession()
|
|
// let user_online = userOnline('set')
|
|
window = document.querySelector(".container-messages")
|
|
if (window === null){
|
|
// let new_timeout_time = 60000
|
|
//
|
|
// check_new_messages_timeout(new_timeout_time,it_set_func,it_func)
|
|
} else {
|
|
// if (it_func === 0){
|
|
// let new_timeout_time = 1000
|
|
// it_func++
|
|
// check_new_messages_timeout(new_timeout_time,it_set_func,it_func)
|
|
// }
|
|
check_new_messages(window)
|
|
}
|
|
|
|
},
|
|
timeout_time)
|
|
}
|
|
|
|
|
|
|
|
|
|
var data_new_messages = null
|
|
|
|
function check_new_messages (window){
|
|
// 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")
|
|
if (request === undefined || window === null){
|
|
clearTimeout(check_msg)
|
|
} else {
|
|
request.innerHTML = data.responseJSON.html;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
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.users_list_html){
|
|
document.querySelector(".block-list-of-users").innerHTML = data.users_list_html.html;
|
|
}
|
|
}
|
|
if (data.required_beep === true){
|
|
const beep = new Audio('/static/sounds/beep_2.mp3')
|
|
beep.play()
|
|
|
|
}
|
|
if (data.users_list_html){
|
|
document.querySelector(".block-list-of-users").innerHTML = data.users_list_html
|
|
}
|
|
if (data.tickets_list_html){
|
|
document.querySelector(".block-list-of-users").innerHTML = data.tickets_list_html
|
|
}
|
|
// let updatedCookie = encodeURIComponent(name_cookie) + "=" + encodeURIComponent('');
|
|
// let search_cookie = document.cookie.match("(^|[^;]+)\s*" + name_cookie + "\s*=\s*([^;]+)")[0].substring(1)
|
|
// let search_cookie = getCookieValue('user_alerts')
|
|
// document.cookie = document.cookie.replace(search_cookie,name_cookie + "=")
|
|
// document.cookie = updatedCookie
|
|
// document.cookie = document.cookie.slice(0,-26)
|
|
// document.cookie = document.cookie.replace('user_alerts="{\"new_message\": true}"','user_alerts=;')
|
|
}
|
|
|
|
function userOnline (set=null,check=null) {
|
|
let user_online = null
|
|
if (set !== null){
|
|
user_online = navigator.userActivation.isActive || navigator.userActivation.hasBeenActive === true;
|
|
sessionStorage.setItem('online',user_online)
|
|
|
|
} else if (check !== null){
|
|
user_online = navigator.userActivation.isActive || navigator.userActivation.hasBeenActive === true;
|
|
sessionStorage.getItem('online')
|
|
}
|
|
return user_online
|
|
} |