Bonjour,
D'après la documentation Symfony, pour ajouter les assets pour le bundle FullCalendar avec EasyAdmin on doit :
"Use the configureAssets() method in the dashboard and/or the CRUD controllers to add your own CSS and JavaScript files"
J'ai donc rajouté les assets de FullCalendar comme suit :
class DashboardController extends AbstractDashboardController
{
//...
public function configureAssets(): Assets
{
return parent::configureAssets()
->addWebpackEncoreEntry('admin')
->addCssFile('https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/main.min.css')
->addJsFile('https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/main.min.js');
}
//...
#[Route('/admin', name: 'admin')]
public function index(): Response
{
return $this->render('admin/index.html.twig');
}
}
admin/index.html.twig :
// ...
{% block main %}
<div id="booking"></div>
{% endblock %}
{% block javascripts %}
<script>
document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('booking');
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
locale: 'fr',
buttonText: {
today: 'Aujourd\'hui',
month: 'Mois',
week: 'Semaine'
},
timeZone: 'Europe/Paris',
headerToolbar: {
start: 'prev,next today',
center: 'title',
end: 'dayGridMonth,timeGridWeek'
},
events: {{ data|raw }},
navLinks: true
});
calendar.render();
});
</script>
{% endblock %}
Je souhaite que le calendrier s'affiche dans le div ayant pour id booking.
Hélas rien ne s'affiche, malgré mes recherches je ne trouve pas l'explication.
Merci pour votre aide !