This commit is contained in:
2023-08-12 12:42:39 +03:00
parent ffbdd5aeb0
commit 27728a24a1
6 changed files with 293 additions and 224 deletions

View File

@@ -1032,4 +1032,26 @@
font-size: 18px; font-size: 18px;
color: #272424; color: #272424;
padding-bottom: 10px; padding-bottom: 10px;
}
.items_subscribe.select{
font-size: 16px;
color: #272424;
}
.items_subscribe.select::marker{
content: url("/static/img/svg/galka.svg");
display: inline-block;
width: 10%;
clear: both;
}
.items_subscribe > span{
display: inline-block;
padding-left: 10px;
width: 90%;
}
.items_subscribe{
padding-bottom: 5px;
} }

40
static/js/chat_sockets.js Normal file
View File

@@ -0,0 +1,40 @@
//
// let senderName = localStorage.getItem('senderName');
// if (!senderName) {
// localStorage.setItem('senderName', senderName);
// }
//
// chatSocket.onmessage = function (e) {
// let data = JSON.parse(e.data);
// console.log('Data:', data);
//
// if (data.type === 'chat') {
// let messages = document.getElementById('messages')
// let cssClass = data.sender === senderName? 'sender' : 'receiver';
// messages.insertAdjacentHTML('beforeend', `<div class="${cssClass}">
// <p>${data.message}</p>
// </div>`)
// }
// }
// let form = document.getElementById('form')
// form.addEventListener('submit', (e) => {
// e.preventDefault()
// let message = e.target.message.value
// chatSocket.send(JSON.stringify({
// 'message': message,
// 'sender': senderName
// }))
// form.reset()
// })
let url = `ws://localhost:8000/ws/socket-server/`;
const chatSocket = new WebSocket(url);
chatSocket.onmessage = function (e) {
let data = JSON.parse(e.data)
console.log('Data: ', data)
}

View File

@@ -1,212 +1,212 @@
window.onload = function () { // window.onload = function () {
funcFocus()
}
//
// document.querySelector(".enter-message-inp").onload(
// funcFocus() // funcFocus()
// )
function funcFocus(){
let window = document.querySelector(".container-messages")
if (window !== null){
let inp = document.querySelector(".enter-message-inp")
if (inp !== null){
inp.focus()
}
} else{
check_new_messages_timeout(long_timeout)
}
}
var check_msg = null
var it = 0
var short_timeout = 50000
var long_timeout = 60000
// 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=short_timeout){ // //
if (check_msg){ // // document.querySelector(".enter-message-inp").onload(
clearInterval(check_msg) // // funcFocus()
} // // )
//
let window = document.querySelector(".container-messages") // function funcFocus(){
// if (window !== null){ // let window = document.querySelector(".container-messages")
// // if (window !== null){
// // let inp = document.querySelector(".enter-message-inp")
// } // if (inp !== null){
// if (it_set_func === 0){ // inp.focus()
// // clearInterval(check_msg) // }
// if (window === null){ // } else{
// it_set_func++ // check_new_messages_timeout(long_timeout)
// 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) //
// } //
// // var check_msg = null
// } // var it = 0
check_msg = setInterval(function () { //
// var short_timeout = 50000
// let new_message = getNewMessageSession() // var long_timeout = 60000
// let user_online = userOnline('set') //
window = document.querySelector(".container-messages") // // function initial_function (){
if (window === null){ // // var it_set_func = 0
check_new_messages(window,true) // // var it_func = 0
// let new_timeout_time = 60000 // // check_new_messages_timeout(60000,it_set_func,it_func)
// // // }
// check_new_messages_timeout(new_timeout_time,it_set_func,it_func) //
} else { // function check_new_messages_timeout(timeout_time=short_timeout){
// if (it_func === 0){ // if (check_msg){
// let new_timeout_time = 1000 // clearInterval(check_msg)
// it_func++ // }
// check_new_messages_timeout(new_timeout_time,it_set_func,it_func) //
// } // let window = document.querySelector(".container-messages")
check_new_messages(window,false) // // if (window !== null){
} // //
// //
}, // // }
timeout_time) // // 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 {
var data_new_messages = null // // let new_timeout_time = 1000
// // it_set_func++
function check_new_messages (window,only_sender_mode){ // // check_new_messages_timeout(new_timeout_time,it_set_func,it_func)
// if (it === 0){ // // }
if (only_sender_mode === false){ // //
let data_set = document.querySelector(".container-messages").dataset // // }
let sender = data_set['userId']; // check_msg = setInterval(function () {
let receiver = data_set['curReceiver']; //
let ticket_id = data_set['ticketId']; // // let new_message = getNewMessageSession()
data_new_messages = { // // let user_online = userOnline('set')
'sender': sender, // window = document.querySelector(".container-messages")
'receiver': receiver, // if (window === null){
'ticket_id': ticket_id // check_new_messages(window,true)
// 'last_message_modifiteDT':last_message_time // // let new_timeout_time = 60000
} // //
} else { // // check_new_messages_timeout(new_timeout_time,it_set_func,it_func)
let profile_data_set = document.querySelector(".button_profile_header").dataset // } else {
let sender = profile_data_set['userId'] // // if (it_func === 0){
data_new_messages = { // // let new_timeout_time = 1000
'sender': sender // // it_func++
} // // check_new_messages_timeout(new_timeout_time,it_set_func,it_func)
} // // }
// } // check_new_messages(window,false)
// let user_online_check = document.addEventListener("mouseover"); // }
let last_message_time = document.querySelector(".date_n_time_last_message") //
if (last_message_time === null){ // },
// // timeout_time)
} else { // }
data_new_messages.last_message_modifiedDT = last_message_time.dataset['modifieddt'] //
} //
//
//
$.ajax({ // var data_new_messages = null
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() }, //
url: '/ru/messages/update_chat/', // function check_new_messages (window,only_sender_mode){
type: "POST", // // if (it === 0){
// async: true, // if (only_sender_mode === false){
cache: false, // let data_set = document.querySelector(".container-messages").dataset
processData: false, // let sender = data_set['userId'];
contentType: false, // let receiver = data_set['curReceiver'];
// enctype: 'json', // let ticket_id = data_set['ticketId'];
data: JSON.stringify(data_new_messages), // data_new_messages = {
success: function(data){ // 'sender': sender,
success_check_new_messages(data) // 'receiver': receiver,
// 'ticket_id': ticket_id
}, // // 'last_message_modifiteDT':last_message_time
error: function (data){ // }
// } else {
let request = document.querySelector(".info_profile") // let profile_data_set = document.querySelector(".button_profile_header").dataset
if (request === undefined || window === null){ // let sender = profile_data_set['userId']
clearTimeout(check_msg) // data_new_messages = {
} else { // 'sender': sender
// request.innerHTML = data.responseText; // }
} // }
if (check_msg !== null){ // // }
clearInterval(check_msg) // // 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']
// }
function success_check_new_messages (data) { //
let window = document.querySelector(".container-messages") //
if (window === null){ // $.ajax({
clearTimeout(check_msg) // headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
} else { // url: '/ru/messages/update_chat/',
if (data !== null) { // type: "POST",
if (data_new_messages['ticket_id'] && data_new_messages['ticket_id'] !== "null") { // // async: true,
if (data.msgs_count > 1) { // cache: false,
if (document.querySelector(".container-messages")) { // processData: false,
document.querySelector(".container-messages").innerHTML = data.html; // contentType: false,
} // // enctype: 'json',
else if (data.tickets_list_html){ // data: JSON.stringify(data_new_messages),
if (document.querySelector(".block-list-of-users")) { // success: function(data){
document.querySelector(".block-list-of-users").innerHTML = data.tickets_list_html // success_check_new_messages(data)
} //
} // },
// error: function (data){
} else { //
document.querySelector(".info_profile").innerHTML = data.html; // let request = document.querySelector(".info_profile")
} // if (request === undefined || window === null){
} // clearTimeout(check_msg)
// } else {
else if (data.chat_html) { // // request.innerHTML = data.responseText;
if (document.querySelector(".container-messages")) { // }
document.querySelector(".container-messages").innerHTML = data.chat_html; // if (check_msg !== null){
} // clearInterval(check_msg)
if (data.users_list_html){ // }
if (document.querySelector(".block-list-of-users")) { // }
document.querySelector(".block-list-of-users").innerHTML = data.users_list_html; // });
} // }
} //
} //
// function success_check_new_messages (data) {
// let window = document.querySelector(".container-messages")
if (data.required_beep === true){ // if (window === null){
const beep = new Audio('/static/sounds/beep_2.mp3') // clearTimeout(check_msg)
beep.play() // } else {
// if (data !== null) {
} // if (data_new_messages['ticket_id'] && data_new_messages['ticket_id'] !== "null") {
// if (data.msgs_count > 1) {
// if (document.querySelector(".container-messages")) {
} // document.querySelector(".container-messages").innerHTML = data.html;
// }
} // else if (data.tickets_list_html){
// if (document.querySelector(".block-list-of-users")) {
// let updatedCookie = encodeURIComponent(name_cookie) + "=" + encodeURIComponent(''); // document.querySelector(".block-list-of-users").innerHTML = data.tickets_list_html
// 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 // } else {
// document.cookie = document.cookie.slice(0,-26) // document.querySelector(".info_profile").innerHTML = data.html;
// document.cookie = document.cookie.replace('user_alerts="{\"new_message\": true}"','user_alerts=;') // }
} // }
//
function userOnline (set=null,check=null) { // else if (data.chat_html) {
let user_online = null // if (document.querySelector(".container-messages")) {
if (set !== null){ // document.querySelector(".container-messages").innerHTML = data.chat_html;
user_online = navigator.userActivation.isActive || navigator.userActivation.hasBeenActive === true; // }
sessionStorage.setItem('online',user_online) // if (data.users_list_html){
// if (document.querySelector(".block-list-of-users")) {
} else if (check !== null){ // document.querySelector(".block-list-of-users").innerHTML = data.users_list_html;
user_online = navigator.userActivation.isActive || navigator.userActivation.hasBeenActive === true; // }
sessionStorage.getItem('online') // }
} // }
return user_online //
} //
// if (data.required_beep === true){
// const beep = new Audio('/static/sounds/beep_2.mp3')
// beep.play()
//
// }
//
//
// }
//
// }
//
// // 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
// }

View File

@@ -3,18 +3,18 @@ $(document).ready(function (){
}) })
function getNewMessageSession(){ function getNewMessageSession(){
let window_messages = document.querySelector(".container-messages") // let window_messages = document.querySelector(".container-messages")
let new_timeout_time; // let new_timeout_time;
if (window_messages !== null){ // if (window_messages !== null){
// check_new_messages(window) // // check_new_messages(window)
new_timeout_time = short_timeout // new_timeout_time = short_timeout
} else { // } else {
new_timeout_time = long_timeout // new_timeout_time = long_timeout
} // }
if (check_msg !== null){ // if (check_msg !== null){
clearInterval(check_msg) // clearInterval(check_msg)
} // }
check_new_messages_timeout(new_timeout_time) // check_new_messages_timeout(new_timeout_time)
} }

View File

@@ -35,8 +35,13 @@
Опции: Опции:
</div> </div>
<div class="list_options_subscribe"> <div class="list_options_subscribe">
<ul> <ul сlass="option_list">
<li></li> <li class="items_subscribe select"><span>Просмотр контактов</span></li>
<li class="items_subscribe select"><span>Размещение заявок</span></li>
<li class="items_subscribe select"><span>Уведомления на e-mail о появлении перевозчика по заданным критериям</span></li>
<li class="items_subscribe unselected"><span>Выделение объявления цветом + 30 поднятий</span></li>
<li class="items_subscribe unselected"><span>Push уведомления</span></li>
<li class="items_subscribe unselected"><span>СМС уведомления</span></li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@@ -9,6 +9,8 @@
<script src='{% static "js/user_profile.js" %}'> </script> <script src='{% static "js/user_profile.js" %}'> </script>
<script src='{% static "js/user_profile(boris).js" %}'> </script> <script src='{% static "js/user_profile(boris).js" %}'> </script>
<script src='{% static "js/check_new_messages.js" %}'></script> <script src='{% static "js/check_new_messages.js" %}'></script>
<script src='{% static "js/chat_sockets.js" %}'></script>
<link rel="stylesheet" href="{% static 'css/ion.rangeSlider.min.css' %}"> <link rel="stylesheet" href="{% static 'css/ion.rangeSlider.min.css' %}">