64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
function searchRoutes (form=undefined) {
|
|
event.preventDefault()
|
|
let $filter_form = $('.b_filter_routes form')[0];
|
|
let $search_form = $('.b_search_routes form')[0];
|
|
|
|
let formData = getFormData($search_form);
|
|
formData = getFormData($filter_form, formData);
|
|
let owner_type = 'mover'
|
|
formData.append('owner_type', owner_type);
|
|
|
|
let query = formDataToQueryString(formData, [$filter_form, $search_form]);
|
|
query+=`owner_type=${owner_type}`
|
|
window.history.pushState(null, null, `?${query}`);
|
|
let request = new api({
|
|
url: '/routes/find_routes/',
|
|
data: formData,
|
|
data_type: 'formData',
|
|
success: function (res) {
|
|
if (!res.html) return;
|
|
let $parent = $('.routes_search_results')[0];
|
|
|
|
$parent.innerHTML = res.html;
|
|
}
|
|
})
|
|
|
|
request.ajaxRequest()
|
|
}
|
|
|
|
function loadMoreRoutes (el) {
|
|
if (!el) return;
|
|
let from_el = parseInt(el.dataset.from_el);
|
|
let to_el = from_el + parseInt(el.dataset.more_count);
|
|
let $filter_form = $('.b_filter_routes form')[0];
|
|
let $search_form = $('.b_search_routes form')[0];
|
|
|
|
let formData = getFormData($search_form);
|
|
formData = getFormData($filter_form, formData);
|
|
let owner_type = 'mover'
|
|
formData.append('owner_type', owner_type);
|
|
formData.append('from_el', from_el);
|
|
formData.append('to_el', to_el);
|
|
|
|
let query = formDataToQueryString(formData, [$filter_form, $search_form]);
|
|
query+=`owner_type=${owner_type}`
|
|
window.history.pushState(null, null, `?${query}`);
|
|
let request = new api({
|
|
url: '/routes/find_routes/',
|
|
data: formData,
|
|
data_type: 'formData',
|
|
success: function (res) {
|
|
if (!res.html) return;
|
|
let $parent = $('.routes_search_results')[0];
|
|
let $next_page_btn = $parent.querySelector('.container_btns[data-next_page_btn]')
|
|
$next_page_btn.remove();
|
|
|
|
appendNodes($parent, templateStrToNode(`
|
|
<div class="next_page"></div>
|
|
`));
|
|
appendNodes($parent, templateStrToNode(res.html));
|
|
}
|
|
})
|
|
|
|
request.ajaxRequest()
|
|
} |