Files
account_store/static/js/user_profile.js
2023-08-06 12:37:43 +03:00

429 lines
11 KiB
JavaScript

function writeMessage(){
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/user_account/new_msg_to_user/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: formData,
success: function(data){
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html;
},
error: function (data, exception){
console.log(400)
}
});
}
function technicalSupport(){
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/user_account/support_tickets/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: formData,
success: function(data){
console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html;
},
error: function (data, exception){
console.log(400)
}
});
}
function mySubscription(){
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/user_account/subscribe/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: formData,
success: function(data){
console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html;
},
error: function (data, exception){
console.log(400)
}
});
}
function myProfile(){
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/user_account/change_profile/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: formData,
success: function(data){
console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html;
},
error: function (data, exception){
console.log(400)
}
});
}
function confirmRemove(el) {
// let new_button = document.querySelector('.cancel_remove')
// if(!new_button){
// }
el.setAttribute("id", "select-remove");
let btn = document.querySelector("#select-remove");
if(!btn.classList.contains('confirm_remove')){
btn.classList.add('confirm_remove')
btn.innerText = 'Подтвердить удаление'
// let place = document.querySelector('.button_remove_route')
let cancel_button = document.createElement('button')
cancel_button.className = "cancel_remove";
cancel_button.innerText = "Отменить удаление";
let place = btn.closest(".button_remove_route")
place.insertBefore(cancel_button, btn.nextSibling);
}
btn.removeAttribute("id", "select-remove")
}
function searchTown(el){
let timer = null
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function(){
timer = null;
let form = el.form;
let type_transport = form['type_transport'].value;
let search_str = el.value;
let get_address_point = new Object({type_transport, search_str});
get_address_point['ctrl_name'] = el.name;
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/reference_data/get_address_point/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
data: JSON.stringify(get_address_point),
success: function(data){
return insertSearchList(data, el.name + '_list')
},
error: function (data){
console.log('Error')
}
});
}, 1500);
}
function selectItemAddrPoint(id, name, ctrl_name,){
let input_list = document.getElementsByName(ctrl_name + '_list')[0];
let tap_txt_cont = document.querySelector("#id_" + ctrl_name);
tap_txt_cont.value = name;
let tap_cont = document.querySelector("#id_" + ctrl_name.slice(0, -4));
tap_cont.value = id;
input_list.classList.remove('show');
}
function insertSearchList(data, ctrl_name) {
let input_list = document.getElementsByName(ctrl_name)[0];
let divs = data.res_search_list;
if (divs.length > 0) {
input_list.classList.add("show");
input_list.innerHTML = divs;
} else {
input_list.classList.remove("show");
}
}
function showSearchList(el) {
if(el.classList.contains('from_address_point_txt')){
let input_list = document.querySelectorAll('.input_list')
let value = input_list[0].classList.contains('show')
if(value === false && input_list[0].childElementCount > 0){
input_list[0].classList.add("show");
}
}else if (el.classList.contains('to_address_point_txt')) {
let input_list = document.querySelectorAll('.input_list')
let value = input_list[1].classList.contains('show')
if(value === false && input_list[1].childElementCount > 0){
input_list[1].classList.add("show");
}
}
}
function onblurInputField(event,el){
// if(el.classList.contains("from_country_container")){
let search_list = document.getElementsByName(el.name + '_list')[0];
let parent_event = $(event.explicitOriginalTarget).parents('.input_list' );
if(!parent_event || parent_event[0] !== search_list){
search_list.classList.remove('show')
}
// }
}
// function hideErrorMsg(el) {
// let hide_element = document.querySelector()
// if(el.value !== 0){
// hide_element.classList.add('hide')
// }
//
// }
function sendRoute(el, routeID = null){
event.preventDefault()
let form = el.form;
let formData = new FormData(form);
let url = '/ru/routes/create_or_change_route/'
if (routeID !== null){
url = '/ru/routes/change_route/' + routeID + '/'
}
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: url,
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
data: formData,
success: function(data){
console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html
},
error: function (data, exception){
document.querySelector(".info_profile").innerHTML = data.responseJSON.html;
$('#id_weight').ionRangeSlider({
skin: "round",
type: "single",
min: 0,
max: 1000,
step: 1,
grid: true,
grid_num: 5,
});
}
});
}
//cleaning route inputs after selection changes
function OnSelectionChange(el) {
event.preventDefault()
let form = el.form;
let formData = new FormData(form);
// let data = {};
// data['csrfmiddlewaretoken'] = $('input[name="csrfmiddlewaretoken"]')[0].value;
// data['type_transport'] = $('select[name="type_transport"]')[0].value;
$.ajax({
headers: {"X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val()},
url: '/ru/user_account/new_route_view/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: JSON.stringify(data),
data: formData,
success: function (data) {
console.log('data.html');
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html
//
$('#id_weight').ionRangeSlider({
skin: "round",
type: "single",
min: 0,
max: 1000,
from: 0,
step: 1,
grid: true,
grid_num: 5,
});
}
});
};
function createRoute(){
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/user_account/new_route_view/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: {},
success: function(data){
// console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html
$(document).ready(function (e){
$('#id_weight').ionRangeSlider({
skin: "round",
type: "single",
min: 0,
max: 1000,
from: 100,
step: 1,
grid: true,
grid_num: 5,
});
});
//get dynamic value
// let fromCountry = document.getElementById('id_from_country');
// let toCounytry = document.getElementById('id_to_country')
//
// toCounytry.oninput = function (){
// console.log(toCounytry.value)
// }
// fromCountry.oninput = function (){
// console.log(fromCountry.value)
//
// };
}
});
}
function getRoute(){
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/ru/routes/get_routes/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
// data: formData,
success: function(data){
console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html;
},
error: function (data, exception){
console.log(101)
}
});
}function editRoute(id) {
let route_obj = {
'route_id': id
}
$.ajax({
headers: {"X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val()},
url: '/ru/routes/edit_route/',
type: "POST",
// async: true,
cache: false,
processData: false,
contentType: false,
// enctype: 'json',
data: JSON.stringify(route_obj),
success: function (data) {
console.log('data received')
// location.href = '/profile'
document.querySelector(".info_profile").innerHTML = data.html;
},
error: function (data, exception) {
console.log(101)
}
});
}