131 lines
4.7 KiB
JavaScript
131 lines
4.7 KiB
JavaScript
page_iterator = 2
|
|
separator_iterator = 1
|
|
|
|
function load_routes (el) {
|
|
let number_last_route = el.id
|
|
let data_d = {
|
|
'from_el':parseInt(number_last_route) + 1,
|
|
'to_el':parseInt(number_last_route) + 11
|
|
}
|
|
let get_url = ""
|
|
let list = forloop_func_form(data_d,"get",get_url)
|
|
data_d = list[0]
|
|
get_url = list[1]
|
|
let loader = document.querySelector(".loader_f_loading_routes")
|
|
loader.classList.toggle("show")
|
|
el.classList.toggle("hide")
|
|
event.preventDefault()
|
|
// let el_parent = el.parentNode
|
|
// let new_el = el_parent.previousSibling.previousSibling
|
|
// let new_el_dataset = new_el.dataset
|
|
// if (new_el_dataset){
|
|
// let number_last_route = new_el_dataset['numberOfRoute']
|
|
// let number_last_route = el.dataset['lastRoute']
|
|
|
|
|
|
$.ajax({
|
|
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
|
|
url: '/ru/routes/find_routes/',
|
|
type: "POST",
|
|
// async: true,
|
|
cache: false,
|
|
processData: false,
|
|
contentType: false,
|
|
// enctype: 'json',
|
|
data: JSON.stringify(data_d),
|
|
success: function(data){
|
|
|
|
// new_el.parentNode.insertBefore(data.html, new_el.nextSibling);
|
|
let url_insert = ".page_routes_" + page_iterator
|
|
let place_ins = document.querySelector(url_insert)
|
|
place_ins.innerHTML = data.html
|
|
let old_page_iterator = page_iterator
|
|
page_iterator++
|
|
loader.classList.toggle("show")
|
|
if (!data.last_block_routes){
|
|
el.classList.toggle("hide")
|
|
}
|
|
// let el_scroll = place_ins.firstElementChild
|
|
// el_scroll.scrollIntoView(
|
|
// {
|
|
// behavior:"smooth"
|
|
// }
|
|
// )
|
|
let new_page_routes = document.createElement("div")
|
|
new_page_routes.classList.add("page_routes_" + page_iterator)
|
|
$(new_page_routes).insertAfter(".page_routes_" + old_page_iterator);
|
|
let line_separator = document.createElement("div")
|
|
line_separator.classList.add("line_separator_page_w_el")
|
|
$(line_separator).insertAfter(".page_routes_" + separator_iterator);
|
|
// document.querySelector(".info_profile").innerHTML = data.html;
|
|
el.setAttribute("id",parseInt(number_last_route) + 11)
|
|
history.pushState({'data':data_d,'str_data':get_url}, "state_filters", `?${get_url}`);
|
|
separator_iterator++
|
|
// number_last_route = parseInt(number_last_route) + "11"
|
|
},
|
|
error: function (data){
|
|
|
|
document.querySelector(".block-finded-routes").innerHTML = data.responseJSON.html;
|
|
|
|
}
|
|
});
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
function forloop_func_form (data,get,str) {
|
|
let list_of_elements_form = document.querySelectorAll(".el_form_find_route");
|
|
for (let i = 0;i < list_of_elements_form.length;i++) {
|
|
// let id_el = list_of_elements_form[i].id
|
|
// if (id_el){
|
|
// if (id_el === "")
|
|
// }
|
|
let name_attr = list_of_elements_form[i].attributes["name"]
|
|
let value_el = list_of_elements_form[i].value
|
|
if (name_attr) {
|
|
if (list_of_elements_form[i].tagName === "INPUT" && list_of_elements_form[i].type === "checkbox"){
|
|
let name_el = name_attr.value
|
|
|
|
if (list_of_elements_form[i].checked){
|
|
|
|
if (name_el === "type_transport"){
|
|
let old_val = data["type_transport"]
|
|
if (old_val){
|
|
data["type_transport"] = `${data["type_transport"]},${value_el}`
|
|
if (get !== null){
|
|
// let new_old_val = old_val.replace("", )
|
|
let new_str = str.replace(`type_transport=${old_val}`,`type_transport=${old_val},${value_el}`)
|
|
str = new_str
|
|
// str.replace(`type_transport=${new_old_val}&`,"")
|
|
}
|
|
} else {
|
|
data[name_el] = value_el
|
|
if (get !== null){
|
|
str = `${str}${name_el}=${value_el}&`
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
let name_el = name_attr.value
|
|
data[name_el] = value_el
|
|
str = `${str}${name_el}=${value_el}&`
|
|
}
|
|
}
|
|
}
|
|
if (!data["type_transport"]){
|
|
data["type_transport"] = ""
|
|
str = `${str}type_transport=&`
|
|
}
|
|
if (get !== null){
|
|
let list = [data,str]
|
|
return list
|
|
} else {
|
|
return data
|
|
}
|
|
|
|
} |