Refactor CrudActions from index pages

This commit is contained in:
2025-10-03 13:48:46 -04:00
parent df27cbc298
commit 7c2ba9044a
5 changed files with 46 additions and 52 deletions
+29
View File
@@ -0,0 +1,29 @@
<MudButtonGroup Size="Size.Small">
@if (DetailsHref != null)
{
<MudTooltip Text="Details">
<MudIconButton Href="@DetailsHref" Icon="@Icons.Material.Filled.Description">Details</MudIconButton>
</MudTooltip>
}
@if (EditHref != null)
{
<MudTooltip Text="Edit">
<MudIconButton Href="@EditHref" Icon="@Icons.Material.Filled.Edit">Edit</MudIconButton>
</MudTooltip>
}
@if (DeleteOnClick != null)
{
<MudTooltip Text="Delete">
<MudIconButton Icon="@Icons.Material.Outlined.Delete"
Color="Color.Error"
OnClick="() => DeleteOnClick()"/>
</MudTooltip>
}
</MudButtonGroup>
@code {
[Parameter] public string? DetailsHref { get; set; }
[Parameter] public string? EditHref { get; set; }
[Parameter] public Action? DeleteOnClick { get; set; }
}
@@ -1,5 +1,7 @@
@using WebApp.Models @using WebApp.Models
<MudTooltip Text="Level of Effort">@AppIcons.LevelOfEffortIcon(EventDefinition.LevelOfEffort)</MudTooltip>
@if(EventDefinition.EventFormat == EventFormat.Individual) { @if(EventDefinition.EventFormat == EventFormat.Individual) {
<MudTooltip Text="Individual">@AppIcons.IndividualEvent</MudTooltip> <MudTooltip Text="Individual">@AppIcons.IndividualEvent</MudTooltip>
} }
@@ -25,35 +25,19 @@
</CellTemplate> </CellTemplate>
</TemplateColumn> </TemplateColumn>
<PropertyColumn Property="@(e => e.ChapterEligibilityCountState)" Title="State#" /> <PropertyColumn Property="@(e => e.ChapterEligibilityCountState)" Title="State#" />
<TemplateColumn Title="Regionals" Sortable="true" SortBy="e => e.ChapterEligibilityCountRegionals"> <TemplateColumn Title="Attributes" Sortable="false">
<CellTemplate> <CellTemplate>
@if (context.Item.RegionalEvent) { @AppIcons.RegionalEvent } <EventAttributes EventDefinition="context.Item"></EventAttributes>
</CellTemplate>
</TemplateColumn>
<TemplateColumn Title="Pre-submission" Sortable="true" SortBy="e => e.Presubmission">
<CellTemplate>
@if (context.Item.Presubmission) { @AppIcons.PresubmissionEvent }
</CellTemplate> </CellTemplate>
</TemplateColumn> </TemplateColumn>
<PropertyColumn Property="@(e => e.LevelOfEffort)" Title="Level of Effort" /> <PropertyColumn Property="@(e => e.LevelOfEffort)" Title="Level of Effort" />
<TemplateColumn> <TemplateColumn>
<CellTemplate> <CellTemplate>
<MudStack Row> <CrudActions DetailsHref="@($"/events/details?id={context.Item!.Id}")"
<MudButtonGroup Size="Size.Small"> EditHref="@($"/events/edit?id={context.Item!.Id}")"
<MudTooltip Text="Details"> DeleteOnClick="() => DeleteEventDefinition(context.Item!)">
<MudIconButton Href="@($"/events/details?id={context.Item.Id}")" Icon="@Icons.Material.Filled.Description">Details</MudIconButton> </CrudActions>
</MudTooltip>
<MudTooltip Text="Edit">
<MudIconButton Href="@($"/events/edit?id={context.Item.Id}")" Icon="@Icons.Material.Filled.Edit">Edit</MudIconButton>
</MudTooltip>
<MudTooltip Text="Delete">
<MudIconButton Icon="@Icons.Material.Outlined.Delete"
Color="Color.Error"
OnClick="() => DeleteEventDefinition(context.Item)" />
</MudTooltip>
</MudButtonGroup>
</MudStack>
</CellTemplate> </CellTemplate>
</TemplateColumn> </TemplateColumn>
</Columns> </Columns>
@@ -31,21 +31,10 @@
</TemplateColumn> </TemplateColumn>
<TemplateColumn> <TemplateColumn>
<CellTemplate> <CellTemplate>
<MudStack Row> <CrudActions DetailsHref="@($"/students/details?id={context.Item!.Id}")"
<MudButtonGroup Size="Size.Small"> EditHref="@($"/students/edit?id={context.Item!.Id}")"
<MudTooltip Text="Details"> DeleteOnClick="() => DeleteStudent(context.Item!)">
<MudIconButton Href="@($"/students/details?id={context.Item.Id}")" Icon="@Icons.Material.Filled.Description" /> </CrudActions>
</MudTooltip>
<MudTooltip Text="Edit">
<MudIconButton Href="@($"/students/edit?id={context.Item.Id}")" Icon="@Icons.Material.Filled.Edit" />
</MudTooltip>
<MudTooltip Text="Delete">
<MudIconButton Icon="@Icons.Material.Outlined.Delete"
Color="Color.Error"
OnClick="() => DeleteStudent(context.Item)" />
</MudTooltip>
</MudButtonGroup>
</MudStack>
</CellTemplate> </CellTemplate>
</TemplateColumn> </TemplateColumn>
</Columns> </Columns>
+5 -15
View File
@@ -38,21 +38,11 @@
</TemplateColumn> *@ </TemplateColumn> *@
<TemplateColumn> <TemplateColumn>
<CellTemplate> <CellTemplate>
<MudStack Row> <CrudActions
<MudButtonGroup Size="Size.Small"> DetailsHref="@($"/teams/details?id={context.Item!.Id}")"
<MudTooltip Text="Details"> EditHref="@($"/teams/edit?id={context.Item!.Id}")"
<MudIconButton Href="@($"/teams/details?id={context.Item!.Id}")" Icon="@Icons.Material.Filled.Description">Details</MudIconButton> DeleteOnClick="() => DeleteTeam(context.Item!)">
</MudTooltip> </CrudActions>
<MudTooltip Text="Edit">
<MudIconButton Href="@($"/teams/edit?id={context.Item!.Id}")" Icon="@Icons.Material.Filled.Edit">Edit</MudIconButton>
</MudTooltip>
<MudTooltip Text="Delete">
<MudIconButton Icon="@Icons.Material.Outlined.Delete"
Color="Color.Error"
OnClick="() => DeleteTeam(context.Item!)"/>
</MudTooltip>
</MudButtonGroup>
</MudStack>
</CellTemplate> </CellTemplate>
</TemplateColumn> </TemplateColumn>
</Columns> </Columns>