diff --git a/static/js/check_new_messages.js b/static/js/check_new_messages.js index a19c6bc..3881bb6 100644 --- a/static/js/check_new_messages.js +++ b/static/js/check_new_messages.js @@ -1,22 +1,22 @@ -document.onload( +$(document).ready( checkOpenWindow() ) -function checkOpenWindow (){ - var window = document.querySelector(".container-messages") - while (window === null){ - check_timeout() - } - if (window !== null) { + +function checkOpenWindow (window=null){ + if (window === null){ + check_window_tm() + } else { + var data_set = document.querySelector(".container-messages").dataset - var sender = data_set['curReceiver']; - var receiver = data_set['ticketId']; - var ticket_id = data_set['userId']; + var sender = data_set['userId']; + var receiver = data_set['curReceiver']; + var ticket_id = data_set['ticketId']; var data = { @@ -25,24 +25,39 @@ function checkOpenWindow (){ 'ticket_id': ticket_id // 'last_message_modifiteDT':last_message_time } + timeout(data) + } } -function check_timeout(){ - setTimeout(checkOpenWindow, 1000) +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) + } + }, + 1000) } -function timeout (){ - var window = document.querySelector(".container-messages") - while (window !== null){ - setTimeout(check_new_messages, 1000) - } +var check_msg = null + +function timeout (data){ + let window = document.querySelector(".container-messages") + check_msg = setInterval(check_new_messages(window,data), 1000) } -function check_new_messages (){ +function check_new_messages (window,data){ // let user_online_check = document.addEventListener("mouseover"); - let last_message_time = document.querySelector(".date_n_time_last_message").dataset['modifieddt']; - data['last_message_modifiteDT'] = last_message_time + let last_message_time = document.querySelector(".date_n_time_last_message") + if (last_message_time === null){ + // + } else { + data.push([{ 'last_message_modifiteDT':last_message_time.dataset['modifieddt'] }]) + } $.ajax({ headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() }, @@ -61,12 +76,19 @@ function check_new_messages (){ } 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() + } } }); } \ No newline at end of file diff --git a/templates/pages/profile/p_user_profile.html b/templates/pages/profile/p_user_profile.html index d8c4fa4..a798c29 100644 --- a/templates/pages/profile/p_user_profile.html +++ b/templates/pages/profile/p_user_profile.html @@ -8,7 +8,7 @@ -{# #} +