Task: Refactor filter panel to shared partial
This commit is contained in:
@@ -48,6 +48,7 @@ class IndexController extends AbstractController
|
|||||||
return $this->render('admin/assignment/index.html.twig', [
|
return $this->render('admin/assignment/index.html.twig', [
|
||||||
'pagination' => $pagination,
|
'pagination' => $pagination,
|
||||||
'filterForm' => $filterForm,
|
'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) }}
|
||||||
@@ -6,22 +6,9 @@
|
|||||||
<h1 class="text-2xl font-bold pb-4">
|
<h1 class="text-2xl font-bold pb-4">
|
||||||
Einsatzübersicht
|
Einsatzübersicht
|
||||||
</h1>
|
</h1>
|
||||||
{{ form_start(filterForm) }}
|
|
||||||
<div class="border border-gray-200 rounded-md p-2 mb-4">
|
{% include '_partials/_filterpanel.html.twig' %}
|
||||||
<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) }}
|
|
||||||
<div class="data-table-wrapper">
|
<div class="data-table-wrapper">
|
||||||
<div class="data-table-wrapper__inner">
|
<div class="data-table-wrapper__inner">
|
||||||
<table class="data-table">
|
<table class="data-table">
|
||||||
|
|||||||
@@ -18,30 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ form_start(filterForm) }}
|
{% include '_partials/_filterpanel.html.twig' %}
|
||||||
<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) }}
|
|
||||||
|
|
||||||
{{ knp_pagination_render(pagination, 'paginator/sliding_boxes.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">
|
<div class="grid sm:grid-cols-2 md:grid-cols-3 gap-4 py-4">
|
||||||
|
|||||||
Reference in New Issue
Block a user