0.0.133 search routes
This commit is contained in:
@@ -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({
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
<form name="filter_routes">
|
||||
<div class="label" style="margin-bottom: 16px;">{% trans "Способ перевозки" %}</div>
|
||||
<div class="field_container line" data-type="checkbox" data-name="type_transport">
|
||||
<div class="checkbox{% if route_form.initial.type_transport %} checked{% endif %}" onclick="chooseCheckbox(this)"></div>
|
||||
<div class="checkbox{% if route_form.initial.type_transport %} checked{% endif %}" data-value="road" onclick="chooseCheckbox(this)"></div>
|
||||
<div class="checkbox_label" onclick="chooseCheckbox(this)">{% trans "Автоперевозка" %}</div>
|
||||
{% if route_form.errors.type_transport %}<div class="error_container">{{ route_form.errors.type_transport.0 }}</div>{% endif %}
|
||||
</div>
|
||||
<div class="field_container line" data-type="checkbox" data-name="type_transport">
|
||||
<div class="checkbox{% if route_form.initial.type_transport %} checked{% endif %}" onclick="chooseCheckbox(this)"></div>
|
||||
<div class="checkbox{% if route_form.initial.type_transport %} checked{% endif %}" data-value="avia" onclick="chooseCheckbox(this)"></div>
|
||||
<div class="checkbox_label" onclick="chooseCheckbox(this)">{% trans "Авиатранспорт" %}</div>
|
||||
{% if route_form.errors.type_transport %}<div class="error_container">{{ route_form.errors.type_transport.0 }}</div>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</div>
|
||||
<div class="route_card_info_data mobile">
|
||||
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
|
||||
<img class="route_card_owner_avatar" src="{{ route.owner.user_profile.avatar.url }}">
|
||||
<img class="route_card_owner_avatar" src="{% if route.owner.user_profile.avatar %}{{ route.owner.user_profile.avatar.url }}{% endif %}">
|
||||
<div class="route_card_owner_info">
|
||||
<div class="route_card_info_left_part">
|
||||
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
<div class="route_card_info_data mobile">
|
||||
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
|
||||
<img class="route_card_owner_avatar" src="{{ route.owner.user_profile.avatar.url }}">
|
||||
<img class="route_card_owner_avatar" src="{% if route.owner.user_profile.avatar %}{{ route.owner.user_profile.avatar.url }}{% endif %}">
|
||||
<div class="route_card_owner_info">
|
||||
<div class="route_card_info_left_part">
|
||||
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
|
||||
|
||||
Reference in New Issue
Block a user