templates/pages/_filter.html.twig line 1

Open in your IDE?
  1. <div class="w-100 d-flex justify-content-center d-block d-md-none">
  2.   <button id="showFilters" class="btn btn-primary m-3 button-responsive">Afficher les filtres</button>
  3.   <button id="hideFilters" class="btn btn-primary m-3 button-responsive d-none">Cacher les filtres</button>
  4. </div>
  5. {{ form_start(form, {attr: {class: 'filter js-filter-form d-none d-md-block'}}) }}
  6.   <div class="filter-tri">
  7.     {{ form_widget(form.ordre, {'attr': {'onchange': 'this.form.submit()'}}) }}
  8.   </div>
  9.   
  10.   <div class="filter-card search-card">
  11.       <p class="filter-title">Recherche :</p>
  12.       {{ form_row(form.nom) }}
  13.   </div>
  14.   {% if form.categories|length > 0 %}
  15.     <div class="filter-card">
  16.       <h4 class="filter-title">Catégorie</h4>
  17.       {% for categorie in form.categories %}
  18.         <div>
  19.           {{ form_widget(categorie) }}
  20.           {{ form_label(categorie) }}
  21.         </div>
  22.       {% endfor %}
  23.     </div>
  24.   {% endif %}
  25.   {% if fromageDisplay or cremerieDisplay %}
  26.     {% if form.laits|length > 0 %}
  27.       <div class="filter-card">
  28.         <h4 class="filter-title">Lait</h4>
  29.         {% for lait in form.laits %}
  30.           <div>
  31.             {{ form_widget(lait) }}
  32.             {{ form_label(lait) }}
  33.           </div>
  34.         {% endfor %}  
  35.       </div>
  36.     {% endif %}
  37.     {% if form.laitsTraitement|length > 0 %}
  38.       <div class="filter-card">
  39.         <h4 class="filter-title">Traitement du lait</h4>
  40.         {% for laitTraitement in form.laitsTraitement %}
  41.           <div>
  42.             {{ form_widget(laitTraitement) }}
  43.             {{ form_label(laitTraitement) }}
  44.           </div>
  45.         {% endfor %}  
  46.       </div>
  47.     {% endif %}
  48.   {% endif %} 
  49.   {% if form.origines|length > 0 %}
  50.     <div class="filter-card">
  51.       <h4 class="filter-title">Provenance</h4>
  52.       {% for origine in form.origines %}
  53.         <div>
  54.           {{ form_widget(origine) }}
  55.           {{ form_label(origine) }}
  56.         </div>
  57.       {% endfor %}  
  58.     </div>
  59.   {% endif %}
  60.   {% if cidreDisplay %}
  61.     {% if form.types|length > 0 %}
  62.       <div class="filter-card">
  63.         <h4 class="filter-title">Cidre</h4>
  64.         {% for type in form.types %}
  65.           <div>
  66.             {{ form_widget(type) }}
  67.             {{ form_label(type) }}
  68.           </div>
  69.         {% endfor %}
  70.       </div>
  71.     {% endif %}
  72.   {% endif %}
  73.   {% if plateauDisplay %}
  74.     {% if form.themesPlateau|length > 0 or nbPersonnesDisplay %}
  75.       <div class="filter-card">
  76.         <h4 class="filter-title">Type du plateau</h4>
  77.         {% if nbPersonnesDisplay %}
  78.           {{ form_label(form.nbPersonnes) }}
  79.           {{ form_widget(form.nbPersonnes) }}
  80.         {% endif %}
  81.         {% for themePlateau in form.themesPlateau %}
  82.           <div>
  83.             {{ form_widget(themePlateau) }}
  84.             {{ form_label(themePlateau) }}
  85.           </div>
  86.         {% endfor %}
  87.       </div>
  88.     {% endif %}
  89.   {% endif %}
  90. <button type="submit" class="btn btn-primary w-100">Filtrer</button>
  91. {{ form_end(form) }}
  92. <script>
  93.   const showFilters = document.getElementById('showFilters');
  94.   const filterForm = document.querySelector('.js-filter-form');
  95.   showFilters.addEventListener('click', () => {
  96.     filterForm.classList.remove('d-none');
  97.     showFilters.classList.add('d-none');
  98.     hideFilters.classList.remove('d-none');
  99.   });
  100.   const hideFilters = document.getElementById('hideFilters');
  101.   hideFilters.addEventListener('click', () => {
  102.     filterForm.classList.add('d-none');
  103.     hideFilters.classList.add('d-none');
  104.     showFilters.classList.remove('d-none');
  105.   });
  106. </script>