Task: Refactor filter panel to shared partial

This commit is contained in:
Björn Fromme
2023-10-24 10:23:37 +02:00
parent a604039426
commit c569f961b9
4 changed files with 30 additions and 40 deletions
@@ -48,6 +48,7 @@ class IndexController extends AbstractController
return $this->render('admin/assignment/index.html.twig', [
'pagination' => $pagination,
'filterForm' => $filterForm,
'filterDto' => $filterDto,
]);
}
}
@@ -0,0 +1,25 @@
{{ form_start(filterForm) }}
<div class="border border-gray-200 rounded-md p-2 mb-4" {{stimulus_controller('toggle', [], {'closed': 'hidden'}) }}>
<button type="button" {{ stimulus_action('toggle', 'toggle') }}
class="btn btn--small">
<div class="flex items-center space-x-2">
{{ icon('filter', 'w-5 h-5') }}
{% if filterDto.active %}<span>{{ filterDto.activeFiltersCount }} Filter aktiv</span>{% endif %}
</div>
</button>
<div class="hidden" {{ stimulus_target('toggle', 'toggle') }}>
<div class="grid grid-cols-2 md:grid-cols-5 gap-x-1 gap-y-2 py-2">
{{ form_row(filterForm.dateFrom) }}
{{ form_row(filterForm.dateTo) }}
{{ form_row(filterForm.jobProfile) }}
{{ form_row(filterForm.destination) }}
{{ form_row(filterForm.duration) }}
</div>
<div class="flex items-center space-x-2">
{{ form_widget(filterForm.apply, { 'attr': { 'class': 'btn btn--small' } }) }}
{{ form_widget(filterForm.reset, { 'attr': { 'class': 'btn btn--small btn--secondary' } }) }}
</div>
</div>
</div>
{{ form_rest(filterForm) }}
{{ form_end(filterForm) }}
+3 -16
View File
@@ -6,22 +6,9 @@
<h1 class="text-2xl font-bold pb-4">
Einsatzübersicht
</h1>
{{ form_start(filterForm) }}
<div class="border border-gray-200 rounded-md p-2 mb-4">
<div class="grid grid-cols-2 md:grid-cols-5 gap-1 pb-2">
{{ form_row(filterForm.dateFrom) }}
{{ form_row(filterForm.dateTo) }}
{{ form_row(filterForm.jobProfile) }}
{{ form_row(filterForm.destination) }}
{{ form_row(filterForm.duration) }}
</div>
<div class="flex items-center space-x-2">
{{ form_widget(filterForm.apply, { 'attr': { 'class': 'btn btn--small' } }) }}
{{ form_widget(filterForm.reset, { 'attr': { 'class': 'btn btn--small btn--secondary' } }) }}
</div>
</div>
{{ form_rest(filterForm) }}
{{ form_end(filterForm) }}
{% include '_partials/_filterpanel.html.twig' %}
<div class="data-table-wrapper">
<div class="data-table-wrapper__inner">
<table class="data-table">
+1 -24
View File
@@ -18,30 +18,7 @@
</div>
{% endif %}
{{ form_start(filterForm) }}
<div class="border border-gray-200 rounded-md p-2 mb-4" {{stimulus_controller('toggle', [], {'closed': 'hidden'}) }}>
<button type="button" {{ stimulus_action('toggle', 'toggle') }}>
<div class="flex items-center space-x-2">
{{ icon('filter', 'w-5 h-5') }}
{% if filterDto.active %}<span>{{ filterDto.activeFiltersCount }} Filter aktiv</span>{% endif %}
</div>
</button>
<div class="hidden" {{ stimulus_target('toggle', 'toggle') }}>
<div class="grid grid-cols-2 md:grid-cols-5 gap-x-1 gap-y-2 pb-2">
{{ form_row(filterForm.dateFrom) }}
{{ form_row(filterForm.dateTo) }}
{{ form_row(filterForm.jobProfile) }}
{{ form_row(filterForm.destination) }}
{{ form_row(filterForm.duration) }}
</div>
<div class="flex items-center space-x-2">
{{ form_widget(filterForm.apply, { 'attr': { 'class': 'btn btn--small' } }) }}
{{ form_widget(filterForm.reset, { 'attr': { 'class': 'btn btn--small btn--secondary' } }) }}
</div>
</div>
</div>
{{ form_rest(filterForm) }}
{{ form_end(filterForm) }}
{% include '_partials/_filterpanel.html.twig' %}
{{ knp_pagination_render(pagination, 'paginator/sliding_boxes.html.twig') }}
<div class="grid sm:grid-cols-2 md:grid-cols-3 gap-4 py-4">