@using Core.Calculation @using WebApp.Models @using Core.Utility @TimeSlotName @foreach (var team in Teams.OrderByEventFormatFirst().ThenBy(e => e.ToString())) { var scheduledTeamIds = ScheduledTeams.Select(t => t.Id).ToHashSet(); var removed = !scheduledTeamIds.Contains(team.Id); @{ var teamMembers = TeamStudentNameFormatter.FormatStudentList( team, new TeamStudentNameFormatter.FormatOptions { Ordering = TeamStudentNameFormatter.OrderingStyle.None }); }
@team
@foreach (var student in team.Students) { var overlap = StudentHasOverlaps(student); var chipColor = overlap ? Color.Warning : Color.Default; var formattedName = TeamStudentNameFormatter.FormatStudentName( student, team, new TeamStudentNameFormatter.FormatOptions { MarkOverlaps = true, HasOverlaps = StudentHasOverlaps, MarkAbsent = true, AbsentStudents = AbsentStudents.ToList() }); @formattedName }
}
@code { [Parameter] public string TimeSlotName { get; set; } = string.Empty; [Parameter] public IEnumerable Teams { get; set; } = []; [Parameter] public IEnumerable ScheduledTeams { get; set; } = []; [Parameter] public IEnumerable AbsentStudents { get; set; } = []; [Parameter] public Func StudentHasOverlaps { get; set; } = null!; [Parameter] public EventCallback OnToggleTeam { get; set; } }