0.0.133 search routes
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
function searchRoutes (form) {
|
function searchRoutes (form) {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
let $filter_form = $('.b_filter_routes form')[0];
|
||||||
|
|
||||||
let formData = getFormData(form);
|
let formData = getFormData(form);
|
||||||
|
formData = getFormData($filter_form, formData);
|
||||||
formData.append('owner_type', 'mover');
|
formData.append('owner_type', 'mover');
|
||||||
|
|
||||||
let request = new api({
|
let request = new api({
|
||||||
|
|||||||
@@ -8,9 +8,8 @@ function chooseCheckbox(el) {
|
|||||||
$checkbox.classList.toggle("checked");
|
$checkbox.classList.toggle("checked");
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFormData(form) {
|
function getFormData(form, formData=new FormData()) {
|
||||||
if (!form) return;
|
if (!form) return;
|
||||||
let formData = new FormData();
|
|
||||||
let default_element_types = ['input', 'textarea', 'date'];
|
let default_element_types = ['input', 'textarea', 'date'];
|
||||||
|
|
||||||
let form_elements = getFormElements(form);
|
let form_elements = getFormElements(form);
|
||||||
@@ -52,8 +51,24 @@ function addCustomDataToFormData(el, formData) {
|
|||||||
case 'checkbox':
|
case 'checkbox':
|
||||||
let $checkbox = el.querySelector('.checkbox');
|
let $checkbox = el.querySelector('.checkbox');
|
||||||
let c_value = $checkbox.classList.contains('checked');
|
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;
|
break;
|
||||||
|
|
||||||
case 'radio':
|
case 'radio':
|
||||||
@@ -75,6 +90,11 @@ function addCustomDataToFormData(el, formData) {
|
|||||||
formData.append(name, l_value);
|
formData.append(name, l_value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'select':
|
||||||
|
let $select = el.querySelector('select');
|
||||||
|
if (!$select) return;
|
||||||
|
formData.append(name, $select.value);
|
||||||
|
|
||||||
}
|
}
|
||||||
return formData;
|
return formData;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,12 @@
|
|||||||
<form name="filter_routes">
|
<form name="filter_routes">
|
||||||
<div class="label" style="margin-bottom: 16px;">{% trans "Способ перевозки" %}</div>
|
<div class="label" style="margin-bottom: 16px;">{% trans "Способ перевозки" %}</div>
|
||||||
<div class="field_container line" data-type="checkbox" data-name="type_transport">
|
<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>
|
<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 %}
|
{% if route_form.errors.type_transport %}<div class="error_container">{{ route_form.errors.type_transport.0 }}</div>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="field_container line" data-type="checkbox" data-name="type_transport">
|
<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>
|
<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 %}
|
{% if route_form.errors.type_transport %}<div class="error_container">{{ route_form.errors.type_transport.0 }}</div>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="route_card_info_data mobile">
|
<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_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_owner_info">
|
||||||
<div class="route_card_info_left_part">
|
<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>
|
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="route_card_info_data mobile">
|
<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_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_owner_info">
|
||||||
<div class="route_card_info_left_part">
|
<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>
|
<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