{% extends 'base_front.html.twig' %}
{% set queryParams = app.request.query.all %}
{% block title %}{{ parent() }} | {{ rubrique.rubrique5.nom }}{% endblock %}
{% block h1 %}{{ rubrique.rubrique5.nom }}{% endblock %}
{% block ariane %}
<nav class="navigateur" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ path("home") }}">{{ config.titreAccueil }}</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ rubrique.rubrique5.nom }}</li>
</ol>
</nav>
{% endblock %}
{% macro filter(queryParams) %}
<div class="col-4" id="filterZone">
<input id="searchInput" class="form-control bg-white rounded pl-40" placeholder="Rechercher" {% if queryParams is not empty and queryParams.recherche is defined %} value="{{queryParams.recherche}}" {% endif %}>
<i id="searchBtn" class="toggle-password-alone fa fa-search text-primary" ></i>
{% if queryParams is not empty and queryParams.recherche is defined %}
<i id="resetBtn" class="refresh fa fa-refresh text-danger"></i>
{% endif %}
</div>
{% set options = [
{
'k' : '',
'v' : 'Trier par :'
},
{
'k' : 'titre-croissant',
'v' : 'Titre A-Z'
},
{
'k' : 'titre-decroissant',
'v' : 'Titre Z-A'
},
{
'k' : 'date-croissante',
'v' : 'Date croissante'
},
{
'k' : 'date-decroissante',
'v' : 'Date décroissante'
},
] %}
<div class="col-2">
<select class="bg-white rounded form-control" id="ordonnance">
{% for option in options %}
<option {% if queryParams is not empty and queryParams.ordre is defined and queryParams.ordre == option.k %} selected {% endif %} value="{{option.k}}">{{option.v|raw}}</option>
{% endfor %}
</select>
</div>
{% endmacro %}
{% block body %}
{% if rubrique.rubrique5.srcImg %}
<div class="mx-12">
<img
src="{{ asset('images/rubrique/' ~ rubrique.rubrique5.srcImg) }}"
{% if rubrique.rubrique5.altImg %}
alt="{{ rubrique.rubrique5.altImg }}"
{% endif %}
{% if rubrique.rubrique5.titleImg %}
title="{{ rubrique.rubrique5.titleImg }}"
{% endif %}
class="imgRatio w-100 rounded"
>
</div>
{% endif %}
{% if rubrique.rubrique5.description %}
<div class="my-4 mx-12 ck bg-white p-4 rounded">{{ rubrique.rubrique5.description|raw }}</div>
{% endif %}
{# <div class="row justify-content-center mx-12"> #}
{% if droits %}
<div class="row justify-content-between mx-0 mt-4">
<div class="col-6"></div>
{{ _self.filter(queryParams) }}
</div>
<div id="zoneContent">
{% include "front/_actualite_data.html.twig" %}
</div>
{% endif %}
{% endblock %}
{% block javascripts %}
<script>
$("#searchBtn").click(function() {
updateData();
});
$("#ordonnance").change(function() {
updateData();
});
$('body').on('click', '#resetBtn', function() {
$("#searchInput").val('');
$('#ordonnance').prop('selectedIndex', 0);
updateData();
});
function updateData(){
var inputValue = $("#searchInput").val();
const selectElement = document.querySelector("#ordonnance");
const selectedValue = selectElement.value;
const Params = new URLSearchParams();
Params.append('page', "{{page}}");
if(inputValue){
Params.append('recherche', inputValue);
}
if(selectedValue){
Params.append('ordre', selectedValue);
}
const Url = new URL(window.location.href);
fetch(Url.pathname + "?" + Params.toString() + "&ajax=xxx", {
headers: {
"X-Requested-With": "XMLHttpRequest"
}
}).then(response => {
return response.json()
}).then(data => {
const content = document.querySelector("#zoneContent");
content.innerHTML = data.content;
history.pushState({}, null, Url.pathname + "?" + Params.toString());
if ($('#resetBtn').length > 0) {
$('#resetBtn').remove();
}
if (inputValue){
$('#filterZone').each(function() {
$(this).append('<i id="resetBtn" class="refresh fa fa-refresh text-danger"></i>');
});
}
}).catch(e => alert(e));
}
</script>
{% endblock %}