{% extends 'base.html.twig' %}
{% block title %}CEP-I Actualités{% endblock %}
{% block stylesheets %}
<link rel="shortcut icon" type="image/x-icon" href="/assets/images/favicon.ico">
<link rel="stylesheet" type="text/css" href="/assets/vendor/magnific-popup.css">
<link rel="stylesheet" type="text/css" href="/assets/vendor/slick-master/slick/slick.css">
<link rel="stylesheet" type="text/css" href="/assets/vendor/selectric/public/selectric.css">
<link rel="stylesheet" type="text/css" href="/assets/css/bundle.css">
<script src="/assets/vendor/jquery-3.1.1.min.js"></script>
{% endblock %}
{% block breadcrumps %}
<div class="breadcrumps">
<div class="shell">
<ul>
<li>
<a href="{{ path('accueil') }}">Accueil</a>
</li>
<li>
<a href="{{ path('actualites') }}">Actualités</a>
</li>
</ul>
</div><!-- /.shell -->
</div><!-- /.breadcrumps -->
{% endblock %}
{% block body %}
<div class="filters">
<div class="shell">
<h2 class="filters__title">Actualités</h2>
<a href="#" class="btn btn-filter visible-mobile">
<i class="ico-filter"></i> Filtrer Les Actualités
</a>
<div class="filters__inner filters__inner--alt">
<form id="filtres">
<h4>Filtrer les actualités</h4>
<ul class="list-checkboxes list-checkboxes--alt">
{% set filtres = util_service.getArticlesFiltresLabel() %}
{% for val, label in filtres %}
<li>
<div class="checkbox checkbox--alt">
<input name="filtre[]" value="{{ val}}" type="checkbox" id="ch{{ val }}"">
<label for="ch{{ val }}">{{ label }}</label>
</div><!-- /.checkbox -->
</li>
{% endfor %}
</ul><!-- /.list-checkboxes -->
<div class="filters__actions">
<button class="btn btn--size3">
<i class="ico-arrow-white"></i> Valider
</button>
</div><!-- /.filters__actions -->
</form>
</div><!-- /.filters__inner -->
</div><!-- /.shell -->
</div><!-- /.filters -->
<section class="section section--features-alt">
<div class="shell">
<div class="features features--primary" id="actualites">
</div><!-- /.features -->
<div style="display: none;" class="chargement" id="chargement">Chargement...</div>
</div><!-- /.shell -->
</section><!-- /.section -->
{% include '__includes__/newsletterForm.html.twig' %}
<script>
let styleDynamicImage = function() {
let imageFigures = document.getElementsByClassName('figure-image');
for (let figure of imageFigures) {
let img = figure.getElementsByTagName('img')[0];
if (img.naturalHeight > img.naturalWidth) {
figure.style.maxWidth = 'none';
img.style.maxHeight = '320px';
}
}
};
window.onload = styleDynamicImage;
let page = 0;
let filtres = '';
let encours = false;
function chargerActualites() {
if (encours) return;
if (page === -1) return;
encours = true;
$('#chargement').show();
let dicoCats = {
{% for clef, val in util_service.getArticlesLabel() %}
{{ clef }} : "{{ val }}",
{% endfor %}
};
$.get( "{{ path('ajax_actualites') }}/" + page + '/' + filtres, function( data ) {
encours = false;
$('#chargement').hide();
if (!data) {
page = -1;
return;
}
data = JSON.parse(data);
if (!data || !data.length) {
page = -1;
return;
}
let actualites = $('#actualites');
for (let i in data) {
let actualite = data[i];
let cats = actualite.category.split(',').map(x => dicoCats[x] ? dicoCats[x] : '').join(' ');
let style = actualite.image ? 'background-image: url(\'/assets/uploads/actualite/' + actualite.id + '/' + actualite.image + '\')' : 'background-color:#A0C32E';
let ele = $('<div class="feature feature--alt">\n' +
' <a href="/actualite/view/'+actualite.link+'">\n' +
' <div class="feature__image" style="'+style+'"></div><!-- /.feature__image -->\n' +
'\n' +
' <div class="feature__body">\n' +
' <h5>' + cats + '</h5>\n' +
'\n' +
' <p>' + actualite.title + '</p>\n' +
' </div><!-- /.feature__body -->\n' +
' </a>\n' +
' </div><!-- /.feature -->');
actualites.append(ele);
}
page++;
});
}
$(function() {
chargerActualites();
$( "#filtres" ).submit(function( event ) {
event.preventDefault();
let f = $(this).serializeArray();
filtres = [];
for (let i in f) {
filtres.push(f[i].value);
}
filtres = filtres.join(',');
page = 0;
$('#actualites').empty();
chargerActualites();
});
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() >= $(document).height() - 400) {
chargerActualites();
}
});
});
</script>
{% endblock %}
{% block javascripts %}
<script src="/assets/vendor/magnific-popup.js"></script>
<script src="/assets/vendor/slick-master/slick/slick.min.js"></script>
<script src="/assets/vendor/selectric/public/jquery.selectric.min.js"></script>
<script src="/assets/vendor/jquery-scrollLock.min.js"></script>
<script src="/assets/vendor/validator.js"></script>
<script src="/assets/js/bundle.js"></script>
{% endblock %}