Improve formatting for Event Create

This commit is contained in:
2025-09-25 09:58:56 -04:00
parent 7b1a52d5b3
commit 227dbcf336
9 changed files with 135 additions and 190 deletions
@@ -8,50 +8,34 @@
<MudText Typo="Typo.h4">Student</MudText>
<MudDivider />
<div class="row">
<div class="col-md-4">
<EditForm method="post" Model="Student" OnValidSubmit="AddStudent" FormName="create" Enhance>
<DataAnnotationsValidator />
<ValidationSummary class="text-danger" role="alert"/>
<div class="mb-3">
<label for="firstname" class="form-label">First Name:</label>
<InputText id="firstname" @bind-Value="Student.FirstName" class="form-control" />
<ValidationMessage For="() => Student.FirstName" class="text-danger" />
</div>
<div class="mb-3">
<label for="lastname" class="form-label">Last Name:</label>
<InputText id="lastname" @bind-Value="Student.LastName" class="form-control" />
<ValidationMessage For="() => Student.LastName" class="text-danger" />
</div>
<div class="mb-3">
<label for="grade" class="form-label">Grade:</label>
<InputNumber id="grade" @bind-Value="Student.Grade" class="form-control" />
<ValidationMessage For="() => Student.Grade" class="text-danger" />
</div>
<div class="mb-3">
<label for="tsayear" class="form-label">TSA Year:</label>
<InputNumber id="tsayear" @bind-Value="Student.TsaYear" class="form-control" />
<ValidationMessage For="() => Student.TsaYear" class="text-danger" />
</div>
<button type="submit" class="btn btn-primary">Create</button>
</EditForm>
</div>
</div>
<div>
<a href="/students">Back to List</a>
</div>
<EditForm Model="Student" OnValidSubmit="OnValidSubmit" Enhance>
<DataAnnotationsValidator />
<MudGrid>
<MudItem xs="12" sm="7">
<MudPaper Class="pa-4">
<MudTextField T="string" Label="First Name" @bind-Value="Student.FirstName" For="@(() => Student.FirstName)"></MudTextField>
<MudTextField T="string" Label="Last Name" @bind-Value="Student.LastName" For="@(() => Student.LastName)"></MudTextField>
<MudTextField T="string" Label="Email Adress" @bind-Value="Student.Email" For="@(() => Student.Email)"></MudTextField>
<MudTextField T="string" Label="Phone Number" @bind-Value="Student.PhoneNumber" For="@(() => Student.PhoneNumber)"></MudTextField>
<MudTextField T="int" Label="Grade" @bind-Value="Student.Grade" For="@(() => Student.Grade)"></MudTextField>
<MudTextField T="int" Label="TSA Year" @bind-Value="Student.TsaYear" For="@(() => Student.TsaYear)"></MudTextField>
</MudPaper>
</MudItem>
</MudGrid>
<MudButton StartIcon="@Icons.Material.Filled.ArrowBack" Href="students">Back</MudButton>
<MudButton ButtonType="ButtonType.Submit" StartIcon="@Icons.Material.Filled.Save">Save</MudButton>
</EditForm>
@code {
[SupplyParameterFromForm]
private Student Student { get; set; } = new() { TsaYear = 1 };
private async Task AddStudent()
private void OnValidSubmit(EditContext context)
{
Context.Students.Add(Student);
await Context.SaveChangesAsync();
Context.SaveChanges();
NavigationManager.NavigateTo("/students");
}
}
@@ -21,39 +21,19 @@ else
<MudTh>Name</MudTh>
<MudTh>Grade</MudTh>
<MudTh>TSA Year</MudTh>
<MudTh>1st</MudTh>
<MudTh>2nd</MudTh>
<MudTh>3rd</MudTh>
<MudTh>4th</MudTh>
<MudTh>5th</MudTh>
<MudTh>6th</MudTh>
<MudTh>7th</MudTh>
<MudTh>8th</MudTh>
<MudTh>9th</MudTh>
<MudTh>10th</MudTh>
<MudTh></MudTh>
<MudTh>Warnings</MudTh>
@for (var i = 1; i <= 10; i++)
{
var ii = i;
<MudTh>@AppIcons.GetOrdinal(ii)</MudTh>
}
</HeaderContent>
<RowTemplate>
<MudTd>@context.FirstName</MudTd>
<MudTh>@context.Grade</MudTh>
<MudTh>@context.TsaYear</MudTh>
@for (var i = 1; i <= 10; i++)
{
var st = context.EventRankings.FirstOrDefault(e => e.Rank == i);
<MudTd Class="@($"event-rank-{i})")">
@if (st != null)
{
<span>@st.EventDefinition.ShortName&nbsp;
@if(st.EventDefinition.EventFormat == EventFormat.Individual) { <span>ⓘ</span>}
@if(st.EventDefinition.RegionalEvent) {<span>ⓡ</span>}
@if(st.EventDefinition.OnSiteActivity) {<span>ⓐ</span>}
</span>
}
</MudTd>
}
<MudTd><MudButton StartIcon="@Icons.Material.Filled.TableChart" Href="@($"students/event-ranking-edit/{context.Id}")">Edit</MudButton></MudTd>
<MudTd>
@if (!context.RankedEvents.Any(re => re.OnSiteActivity))
@@ -76,6 +56,22 @@ else
</MudTooltip>
}
</MudTd>
@for (var i = 1; i <= 10; i++)
{
var ii = i;
var st = context.EventRankings.FirstOrDefault(e => e.Rank == i);
<MudTd Class="@($"event-rank-{ii})")">
@if (st != null)
{
<span>@st.EventDefinition.ShortName&nbsp;
@if(st.EventDefinition.EventFormat == EventFormat.Individual) { <span>ⓘ</span>}
@if(st.EventDefinition.RegionalEvent) {<span>ⓡ</span>}
@if(st.EventDefinition.OnSiteActivity) {<span>ⓐ</span>}
</span>
}
</MudTd>
}
</RowTemplate>
</MudTable>
<MudTable Items="_eventStudentRankings" Hover="true" Breakpoint="Breakpoint.Sm" LoadingProgressColor="Color.Info">