0.0.133 search routes

This commit is contained in:
SBD
2025-01-25 00:50:06 +03:00
parent b5155e7ce2
commit 56bcd5bee9
5 changed files with 29 additions and 7 deletions

View File

@@ -1,7 +1,9 @@
function searchRoutes (form) {
event.preventDefault()
let $filter_form = $('.b_filter_routes form')[0];
let formData = getFormData(form);
formData = getFormData($filter_form, formData);
formData.append('owner_type', 'mover');
let request = new api({

View File

@@ -8,9 +8,8 @@ function chooseCheckbox(el) {
$checkbox.classList.toggle("checked");
}
function getFormData(form) {
function getFormData(form, formData=new FormData()) {
if (!form) return;
let formData = new FormData();
let default_element_types = ['input', 'textarea', 'date'];
let form_elements = getFormElements(form);
@@ -52,8 +51,24 @@ function addCustomDataToFormData(el, formData) {
case 'checkbox':
let $checkbox = el.querySelector('.checkbox');
let c_value = $checkbox.classList.contains('checked');
if ($checkbox.dataset.value) c_value = $checkbox.dataset.value;
formData.append(name, c_value);
if ($checkbox.classList.contains('checked')){
if (formData.get(name) || formData.get(name) === false){
let previos_val = formData.get(name);
formData.delete(name);
formData.set(name, previos_val + "," + c_value);
break;
}
}
if (typeof c_value === 'string'){
if ($checkbox.classList.contains('checked')){
formData.append(name, c_value);
break;
}
} else {
formData.append(name, c_value);
}
break;
case 'radio':
@@ -75,6 +90,11 @@ function addCustomDataToFormData(el, formData) {
formData.append(name, l_value);
break;
case 'select':
let $select = el.querySelector('select');
if (!$select) return;
formData.append(name, $select.value);
}
return formData;
}