Files
chapter-organizer/WebApp/Components/Features/Students/Components/StudentToggleSelector.razor
T
poprhythm 2d5d075879 Feature-based folder structure
1. Created feature-based folder structure - Components now organized by domain feature
  2. Moved all components - 20+ files moved to new locations
  3. Updated _Imports.razor - Added all new namespace paths for global component access
  4. Updated CustomThemes.cs namespace - Changed from WebApp.Components.Layout to WebApp.Components.Shared.Layout
  5. Removed old using directives - Cleaned up Login.razor and Routes.razor
  6. Removed empty directories - Cleaned up old folder structure
2025-12-03 22:04:23 -05:00

49 lines
1.2 KiB
Plaintext

@if (Title != null)
{
<MudText Typo="Typo.h4">@Title</MudText>
}
<MudToggleGroup T="Student"
SelectionMode="SelectionMode.MultiSelection"
Values="@SelectedStudents"
ValuesChanged="@OnSelectedStudentsChanged"
Vertical="true"
CheckMark>
@foreach (var student in Students.OrderBy(e => e.FirstName))
{
<MudToggleItem Value="@student" Style="font-size: .75rem;">
@if (ShowFullName)
{
@student.FirstNameLastName
}
else
{
@student.FirstName
}
</MudToggleItem>
}
</MudToggleGroup>
@code {
[Parameter]
public IEnumerable<Student> Students { get; set; } = [];
[Parameter]
public IEnumerable<Student> SelectedStudents { get; set; } = [];
[Parameter]
public EventCallback<IEnumerable<Student>> SelectedStudentsChanged { get; set; }
[Parameter]
public string? Title { get; set; }
[Parameter]
public bool ShowFullName { get; set; } = true;
private async Task OnSelectedStudentsChanged(IEnumerable<Student> value)
{
SelectedStudents = value;
await SelectedStudentsChanged.InvokeAsync(value);
}
}