Calendar View

Categories
School Study Work Social Health Personal Academic
Priority Levels
Optional
Normal
Important
Critical
document.getElementById('categoryFilter').addEventListener('change', function() { currentCategory = this.value; updateCalendar(); }); document.getElementById('priorityFilter').addEventListener('change', function() { currentPriority = this.value; updateCalendar(); }); calendar = new FullCalendar.Calendar(calendarEl, { // Disable the built-in event click handling handleWindowResize: true, eventDisplay: 'block', displayEventTime: true, displayEventEnd: true, initialView: 'dayGridMonth', headerToolbar: { left: 'prev,next today', center: 'title', right: 'dayGridMonth,timeGridWeek,timeGridDay' }, events: function(info, successCallback, failureCallback) { var url = new URL('/Events/GetEvents', window.location.origin); url.searchParams.append('start', info.startStr); url.searchParams.append('end', info.endStr); if (currentCategory) { url.searchParams.append('category', currentCategory); } if (currentPriority) { url.searchParams.append('priority', currentPriority); } fetch(url) .then(response => response.json()) .then(data => successCallback(data)) .catch(error => { console.error('Error fetching events:', error); failureCallback(error); }); }, eventDidMount: function(info) { console.log('Event mounted:', info.event); }, eventTimeFormat: { hour: 'numeric', minute: '2-digit', meridiem: 'short' }, eventClick: function(info) { // Prevent any default handling info.jsEvent.preventDefault(); info.jsEvent.stopPropagation(); // Create and trigger a clean navigation const link = document.createElement('a'); link.href = `/Events/Details/${info.event.id}`; document.body.appendChild(link); link.click(); document.body.removeChild(link); return false; } }); calendar.render(); console.log('Calendar rendered'); }); }