templates/funcionality/fullcalendar.html.twig line 1

Open in your IDE?
  1. <div id="{{ name|default('full_calendar') }}"></div>
  2. <script>
  3. document.addEventListener('DOMContentLoaded', function () {
  4. if (typeof FullCalendar === 'undefined') {
  5. console.error("Error: FullCalendar no está definido. Verifica que los archivos JS están correctamente cargados.");
  6. return;
  7. }
  8. var calendarEl = document.getElementById('{{ name|default('full_calendar') }}');
  9. var initialDate = null;
  10. {% if positionOnFirstEvent is defined and positionOnFirstEvent and events is not empty %}
  11. var eventsInitialDate = JSON.parse('{{ events|raw }}');
  12. initialDate = eventsInitialDate[0].start;
  13. {% endif %}
  14. if (calendarEl) {
  15. var calendar = new FullCalendar.Calendar(calendarEl, {
  16. initialView: 'dayGridMonth',
  17. locale: 'es',
  18. events: {{ events|raw }},
  19. initialDate: initialDate,
  20. dayCellDidMount: function(info) {
  21. let events = calendar.getEvents().filter(event => event.startStr === info.date.toISOString().split('T')[0]);
  22. let dayNumberEl = info.el.querySelector('.fc-daygrid-day-number');
  23. if (events.length > 0) {
  24. dayNumberEl.classList.add('event-day');
  25. }
  26. }
  27. });
  28. calendar.render();
  29. } else {
  30. console.error("Error: No se encontró el contenedor #full_calendar en el DOM.");
  31. }
  32. });
  33. </script>