calendar.blade.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <div class="col card--ui" id="card--dashboard">
  2. <section id="resume-table">
  3. <div class="compare--chart_wrapper d-none"></div>
  4. <div id='calendar'></div>
  5. </section>
  6. <a href="#" data-bs-toggle="modal" data-bs-target="#calendarModal" class="openModal"></a>
  7. <div wire:ignore.self class="modal" id="calendarModal" tabindex="-1" aria-labelledby="calendarModalLabel" aria-hidden="true">
  8. <div class="modal-dialog">
  9. <div class="modal-content">
  10. <div class="modal-header">
  11. <h5 class="modal-title" id="calendarModalLabel">Dettaglio</h5>
  12. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  13. </div>
  14. <div class="modal-body">
  15. <div class="row">
  16. <div class="col-md-6">
  17. <label for="course_subscription_id" class="form-label">Ora inizio</label>
  18. <h3 class="time">ORA</h3>
  19. </div>
  20. <div class="col-md-6">
  21. <label class="form-label date">Martdì aaa</label>
  22. <h3 class="title">Padel</h3>
  23. </div>
  24. </div>
  25. </div>
  26. <div class="modal-footer mt-2">
  27. <button class="btn--ui lightGrey" >Annulla Lezione</a>
  28. <button type="button" class="btn--ui btn-primary" onclick="goPresence()">Presenze</button>
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. @push('scripts')
  35. <script src="/assets/js/fullcalendar.js"></script>
  36. <script src="/assets/js/fullcalendar_locales.js"></script>
  37. @endpush
  38. @push('scripts')
  39. <script>
  40. var currentCalendar = 0;
  41. var params = '';
  42. function goPresence()
  43. {
  44. document.location.href = '/presences' + params;
  45. }
  46. document.addEventListener('DOMContentLoaded', function() {
  47. var calendarEl = document.getElementById('calendar');
  48. var calendar = new FullCalendar.Calendar(calendarEl, {
  49. initialView: 'timeGridWeek',
  50. headerToolbar: {
  51. left: 'prevYear,prev,next,nextYear today',
  52. center: 'title',
  53. right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
  54. },
  55. eventClick: function(info) {
  56. var eventDate = new Date(info.event.start);
  57. var datestring = eventDate.getFullYear() + "-" + pad(eventDate.getMonth()+1, 2) + "-" + pad(eventDate.getDate(), 2) + " " + pad(eventDate.getHours(), 2) + ":" + pad(eventDate.getMinutes(), 2) + ":00";
  58. var title = info.event.title;
  59. $(".title").html(title);
  60. $(".time").html(pad(eventDate.getHours(), 2) + ":" + pad(eventDate.getMinutes(), 2));
  61. $(".date").html(eventDate.toLocaleDateString('it-IT', { weekday: 'long' }) + " " + pad(eventDate.getDate(), 2) + " " + eventDate.toLocaleDateString('it-IT', { month: 'long' }));
  62. currentCalendar = info.event.id;
  63. params = '?calendarId=' + info.event.id;// + "&date=" + datestring;
  64. $('.openModal').trigger('click');
  65. },
  66. locale: 'it',
  67. events: @json($records),
  68. });
  69. calendar.render();
  70. });
  71. $(document).ready(function() {
  72. } );
  73. Livewire.on('load-data-table', () => {
  74. });
  75. function pad(num, size) {
  76. num = num.toString();
  77. while (num.length < size) num = "0" + num;
  78. return num;
  79. }
  80. </script>
  81. @endpush