Progress on schedule page formatting

This commit is contained in:
2025-10-27 14:44:11 -04:00
parent ea21406309
commit 967aa567e8
@@ -10,32 +10,56 @@
<MudText Typo="Typo.h3">@Configuration["ChapterSettings:Shortname"] TSA Schedule @Configuration["ChapterSettings:CompetitionYear"]</MudText>
<MudPaper Class="pa-4 mt-5">
@* <MudText>Include: @string.Join(", ", _scheduledTeams) </MudText> *@
<MudGrid>
<MudItem xs="6" lg="9">
<MudItem xs="7" sm="8" lg="9">
<MudText Typo="Typo.h4">Time Slots</MudText>
<MudNumericField @bind-Value="_parameters.TimeSlots"
Label="Time Slots" Min="1" Max="4"></MudNumericField>
<MudButton Class="ma-3" OnClick="Solve" Variant="Variant.Filled" Color="Color.Primary" Disabled="@_isSolving">Solve</MudButton>
<MudIconButton OnClick="CopyToClipboard" Icon="@Icons.Material.Filled.ContentCopy">
</MudIconButton>
<MudGrid>
<MudItem xs="12" sm="6" lg="4">
<MudNumericField @bind-Value="_parameters.TimeSlots"
Label="Time Slots" Min="1" Max="4"></MudNumericField>
</MudItem>
<MudItem xs="12" sm="6" lg="4">
<MudButton Variant="Variant.Outlined" OnClick="() => AddHighLevelOfEffort()" FullWidth="true">Add High Effort</MudButton>
</MudItem>
<MudItem xs="12" sm="6" lg="4">
<MudButton Variant="Variant.Outlined" OnClick="() => AddRegionals()" FullWidth="true">Add Regionals</MudButton>
</MudItem>
<MudItem xs="12" sm="6" lg="4">
<MudButton Variant="Variant.Outlined" OnClick="() => RemoveIndividual()" FullWidth="true">Remove Individual</MudButton>
</MudItem>
<MudItem xs="12" sm="6" lg="4">
<MudButton Variant="Variant.Outlined" OnClick="() => RemoveLowLevelOfEffort()" FullWidth="true">Remove Low Effort</MudButton>
</MudItem>
<MudItem xs="12" sm="6" lg="4">
<MudButton Variant="Variant.Outlined" OnClick="() => Invert()" FullWidth="true">Invert</MudButton>
</MudItem>
<MudItem xs="12" sm="6" lg="4">
<MudButton Variant="Variant.Outlined" Color="Color.Warning" OnClick="() => Reset()" FullWidth="true">Reset</MudButton>
</MudItem>
<MudItem xs="12">
<MudButton Variant="Variant.Filled" Class="ma-3" OnClick="Solve" Color="Color.Primary" Disabled="@_isSolving">Solve</MudButton>
<MudTooltip Text="Copy to Clipboard">
<MudIconButton OnClick="CopyToClipboard" Icon="@Icons.Material.Filled.ContentCopy"></MudIconButton>
</MudTooltip>
</MudItem>
</MudGrid>
<MudTable T="Team[]" ServerData="SolveSchedule" @ref="_solutionData">
<HeaderContent>
</HeaderContent>
<RowTemplate>
<MudTd>
<MudTd>
@{
var overlaps
= TeamSchedulerSolution.GetStudentTeamOverlaps(context).ToArray();
}
<MudGrid Class="d-flex justify-start align-start">
@foreach (var team in context.OrderBy(e => e.ToString()))
{
var removed = !_scheduledTeams.Contains(team);
<MudItem>
<MudItem xs="12">
<MudLink Typo="Typo.body1"
Class="d-flex align-center"
Color="Color.Default"
@@ -57,12 +81,9 @@
</MudText>
}
</MudLink>
</MudItem>
}
</MudGrid>
</MudTd>
<MudTd>
@{
@@ -72,9 +93,10 @@
{
<MudItem>Unscheduled</MudItem>
foreach (var student in unscheduled)
<MudGrid>
@foreach (var student in unscheduled)
{
<MudItem Class="">
<MudItem xs="12" sm="6" lg="3">
<MudText Typo="Typo.body1" HtmlTag="i">@student.FirstName </MudText>&nbsp;
@{
var pa = _possibleAdditions.ToArray();
@@ -95,24 +117,15 @@
}
</MudItem>
}
</MudGrid>
}
</MudTd>
</RowTemplate>
</MudTable>
</MudItem>
<MudItem xs="6" lg="3">
<MudItem xs="5" sm="4" lg="3">
<MudStack>
<MudButton OnClick="() => AddHighLevelOfEffort()">Add High Effort</MudButton>
<MudButton OnClick="() => AddRegionals()">Add Regionals</MudButton>
<MudButton OnClick="() => RemoveIndividual()">Remove Individual</MudButton>
<MudButton OnClick="() => RemoveLowLevelOfEffort()">Remove Low Effort</MudButton>
<MudButton OnClick="() => Invert()">Invert</MudButton>
<MudItem>@string.Join(", ", (_possibleAdditions ?? []).Select(e => e.ToString()))</MudItem>
<MudToggleGroup T="Team"
SelectionMode="SelectionMode.MultiSelection"
@bind-Values="_scheduledTeams"
@@ -177,6 +190,11 @@
= _teams.Where(t => !rt.Contains(t));
}
private async Task Reset()
{
_scheduledTeams = [];
}
private void ToggleRequiredTeam(Team unassignedTeam)
{
if (_scheduledTeams.Contains(unassignedTeam))