@inject AssignmentDragContainer dragContainer @inject CoursePlanner configurationManagement @inject CoursePlanner planner @code { [Parameter, EditorRequired] public DateTime? date { get; set; } = default!; private bool isWeekDay { get => date?.DayOfWeek != null; } private bool dragging {get; set;} = false; private string calculatedClass { get { var baseClasses = "col border rounded rounded-3 p-2 pb-4 m-1 "; if(dragging) return baseClasses + " bg-secondary text-light "; if (isWeekDay) { DayOfWeek? weekDay = date?.DayOfWeek; DayOfWeek notNullDay = weekDay ?? default; var dayInSemester = planner.LocalCourse?.DaysOfWeek.Contains(notNullDay) ?? false && date < planner.LocalCourse.EndDate && date > planner.LocalCourse.StartDate; var totalClasses = dayInSemester ? $"bg-light {baseClasses}" : baseClasses; return totalClasses; } else { return baseClasses; } } } void OnDragStart() { Console.WriteLine("on drag start"); } void OnDrop() { Console.WriteLine("on drop"); dragging = false; if(dragContainer.AssignmentBeingDragged == null){ System.Console.WriteLine("no assignment in drop event"); return; } Console.WriteLine(JsonSerializer.Serialize(dragContainer.AssignmentBeingDragged)); dragContainer.AssignmentBeingDragged = null; } void OnDragEnter() { dragging = true; } void OnDragLeave() { dragging = false; } }
@(isWeekDay ? date?.Day : "")