Files
account_store/static/js/serch_town.js
2023-08-16 15:15:17 +03:00

128 lines
4.6 KiB
JavaScript

var listener = 0
var cur_el_ins = null
function focus_el_ins (el) {
if (el.value.length > 0) {
cur_el_ins = el
}
}
function searchTown(el){
// document.getElementById('id_from_address_point_txt').style.background = 'white url("/static/img/svg/loader.svg") no-repeat calc(100% - 15px) center';
// document.getElementById('id_to_address_point_txt').style.background = 'white url("/static/img/svg/loader.svg") no-repeat calc(100% - 15px) center';
if(el.value.length >= 3){
let timer = null
if (timer) {
clearTimeout(timer);
}
let element = el
timer = setTimeout(function(){
timer = null;
// let form = el.form;
let type_transport = 'road';
let search_str = el.value;
let get_address_point = new Object({type_transport, search_str});
get_address_point['ctrl_name'] = "govno"
get_address_point['for_filter'] = true
$.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){
// document.getElementById('id_from_address_point_txt').style.background = 'white url("/static/img/png/icon-arrow.svg") no-repeat calc(100% - 15px) center';
// document.getElementById('id_to_address_point_txt').style.background = 'white url("/static/img/png/icon-arrow.svg") no-repeat calc(100% - 15px) center';
getNewMessageSession()
let insert_place_1 = element.nextSibling
let insert_place_2 = insert_place_1.nextSibling
let insert_place = insert_place_2.nextSibling
if (data.res_search_list !== null || data.res_search_list !== ""){
insert_place.innerHTML = data.res_search_list
insert_place.nextSibling.classList.add("show")
} else {
if (insert_place.classList.contains("show")){
insert_place.classList.remove("show")
}
}
listener = 0
// return insertSearchList(data, el.name + '_list');
},
error: function (data){
console.log('Error')
listener = 1
}
});
}, 1500);
}
}
function show_list_w_places (el){
let value = el.value
if (value.length > 0){
if (listener === 0){
let listener_ev = document.querySelector("body")
listener_ev.setAttribute('onclick',"listen_body(event)")
}
}
}
function listen_body (event){
let input_1 = document.querySelector("#inp_form_find_route_w_abbreviation_1")
let input_2 = document.querySelector("#inp_form_find_route_w_abbreviation_2")
let place_1 = document.querySelectorAll(".insert-airports-place")[0]
let place_2 = document.querySelectorAll(".insert-airports-place")[1]
let list_els = [input_1,input_2,place_1,place_2]
let i = 0
let true_ev = false
list_els.map(function (){
if (event.target.id === list_els[i].id){
console.log("true")
true_ev = true
if (cur_el_ins !== event.target){
let cur_el_insert_1 = event.target.nextSibling
let cur_el_insert_2 = cur_el_insert_1.nextSibling
let cur_el_insert_3 = cur_el_insert_2.nextSibling
let cur_el_insert = cur_el_insert_3.nextSibling
if (cur_el_insert.classList.contains("show")) {
cur_el_insert.classList.remove("show")
}
}
}
i++
})
if (true_ev === false) {
if (input_1.focus() === true){
if (place_1.classList.contains("show")){
place_1.remove("show")
listener++
}
} else if (input_2.focus === true){
if (place_2.classList.contains("show")){
place_2.remove("show")
listener++
}
} else {
console.log("error")
}
}
}