@using Core.Calculation @using Core.Utility @if (UnscheduledStudents.Any()) { Unscheduled @foreach (var student in UnscheduledStudents) { @{ var formattedName = StudentNameFormatter.FormatStudentName( student, new StudentNameFormatter.FormatOptions { IsAbsent = AbsentStudents.Contains(student) }); } @formattedName @foreach (var unassignedTeam in UnassignedTeams(student)) { var isPossibleAddition = PossibleAdditions.Contains(unassignedTeam, new TeamIdComparer()); var scheduledTeamIds = ScheduledTeams.Select(t => t.Id).ToHashSet(); var isScheduled = scheduledTeamIds.Contains(unassignedTeam.Id); var chipColor = isPossibleAddition ? Color.Success : Color.Default; var teamMembers = TeamStudentNameFormatter.FormatStudentList( unassignedTeam, new TeamStudentNameFormatter.FormatOptions { Ordering = TeamStudentNameFormatter.OrderingStyle.None });
@if (isScheduled) { } @unassignedTeam
}
}
} @code { [Parameter] public IEnumerable UnscheduledStudents { get; set; } = []; [Parameter] public IEnumerable AbsentStudents { get; set; } = []; [Parameter] public IEnumerable ScheduledTeams { get; set; } = []; [Parameter] public IEnumerable PossibleAdditions { get; set; } = []; [Parameter] public Func> UnassignedTeams { get; set; } = null!; [Parameter] public EventCallback OnToggleTeam { get; set; } }