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;
color: #272424;
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 () {
funcFocus()
}
//
// document.querySelector(".enter-message-inp").onload(
// window.onload = function () {
// 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){
clearInterval(check_msg)
}
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){
check_new_messages(window,true)
// 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,false)
}
},
timeout_time)
}
var data_new_messages = null
function check_new_messages (window,only_sender_mode){
// if (it === 0){
if (only_sender_mode === false){
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
}
} else {
let profile_data_set = document.querySelector(".button_profile_header").dataset
let sender = profile_data_set['userId']
data_new_messages = {
'sender': sender
}
}
// }
// 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.responseText;
}
if (check_msg !== null){
clearInterval(check_msg)
}
}
});
}
function success_check_new_messages (data) {
let window = document.querySelector(".container-messages")
if (window === null){
clearTimeout(check_msg)
} 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")) {
document.querySelector(".block-list-of-users").innerHTML = data.tickets_list_html
}
}
} else {
document.querySelector(".info_profile").innerHTML = data.html;
}
}
else if (data.chat_html) {
if (document.querySelector(".container-messages")) {
document.querySelector(".container-messages").innerHTML = data.chat_html;
}
if (data.users_list_html){
if (document.querySelector(".block-list-of-users")) {
document.querySelector(".block-list-of-users").innerHTML = data.users_list_html;
}
}
}
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
}
//
// //
// // document.querySelector(".enter-message-inp").onload(
// // 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){
// clearInterval(check_msg)
// }
//
// 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){
// check_new_messages(window,true)
// // 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,false)
// }
//
// },
// timeout_time)
// }
//
//
//
//
// var data_new_messages = null
//
// function check_new_messages (window,only_sender_mode){
// // if (it === 0){
// if (only_sender_mode === false){
// 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
// }
// } else {
// let profile_data_set = document.querySelector(".button_profile_header").dataset
// let sender = profile_data_set['userId']
// data_new_messages = {
// 'sender': sender
// }
// }
// // }
// // 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.responseText;
// }
// if (check_msg !== null){
// clearInterval(check_msg)
// }
// }
// });
// }
//
//
// function success_check_new_messages (data) {
// let window = document.querySelector(".container-messages")
// if (window === null){
// clearTimeout(check_msg)
// } 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")) {
// document.querySelector(".block-list-of-users").innerHTML = data.tickets_list_html
// }
// }
//
// } else {
// document.querySelector(".info_profile").innerHTML = data.html;
// }
// }
//
// else if (data.chat_html) {
// if (document.querySelector(".container-messages")) {
// document.querySelector(".container-messages").innerHTML = data.chat_html;
// }
// if (data.users_list_html){
// if (document.querySelector(".block-list-of-users")) {
// document.querySelector(".block-list-of-users").innerHTML = data.users_list_html;
// }
// }
// }
//
//
// 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(){
let window_messages = document.querySelector(".container-messages")
let new_timeout_time;
if (window_messages !== null){
// check_new_messages(window)
new_timeout_time = short_timeout
} else {
new_timeout_time = long_timeout
}
if (check_msg !== null){
clearInterval(check_msg)
}
check_new_messages_timeout(new_timeout_time)
// let window_messages = document.querySelector(".container-messages")
// let new_timeout_time;
// if (window_messages !== null){
// // check_new_messages(window)
// new_timeout_time = short_timeout
// } else {
// new_timeout_time = long_timeout
// }
// if (check_msg !== null){
// clearInterval(check_msg)
// }
// check_new_messages_timeout(new_timeout_time)
}

View File

@@ -35,8 +35,13 @@
Опции:
</div>
<div class="list_options_subscribe">
<ul>
<li></li>
<ul сlass="option_list">
<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>
</div>
</div>

View File

@@ -9,6 +9,8 @@
<script src='{% static "js/user_profile.js" %}'> </script>
<script src='{% static "js/user_profile(boris).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' %}">