Users page and users service

This commit is contained in:
Andre Beging
2022-01-24 10:15:33 +01:00
parent 3cfac1a12d
commit 33c631aaf6
10 changed files with 380 additions and 30 deletions

View File

@@ -0,0 +1,72 @@
@page "/"
@using FoodsharingSiegen.Contracts.Entity
@code {
private RenderFragment PopupTitleTemplate(PopupTitleContext<User> value)
{
var header = "Benutzer erstellen";
if (value.EditState == DataGridEditState.Edit) header = "Benutzer bearbeiten";
return builder =>
{
builder.OpenElement(0, "span");
builder.AddContent(1, header);
builder.CloseElement();
};
}
}
<PageTitle>Benutzer</PageTitle>
<h2>Benutzerverwaltung <span style="font-size: .5em; line-height: 0;">Admin</span></h2>
<DataGrid TItem="User"
@ref="UserDataGrid"
Data="@UserList"
CommandMode="DataGridCommandMode.Commands"
EditMode="DataGridEditMode.Popup"
PopupTitleTemplate="PopupTitleTemplate"
RowInserted="RowInserted"
RowUpdated="RowUpdated"
RowDoubleClicked="arg => UserDataGrid.Edit(arg.Item)"
Editable
Responsive>
<DataGridColumns>
<DataGridCommandColumn TItem="User" Caption="Wololo" Width="100px" CellStyle="@(_ => "display: flex; padding-left: 0; padding-right: 0; justify-content: center; align-items: center;")">
<NewCommandTemplate>
<Button Size="Size.ExtraSmall" Color="Color.Success" Clicked="@context.Clicked" Class="mr-1" Style="min-width: auto;">
<i class="oi oi-plus"></i>
</Button>
</NewCommandTemplate>
<EditCommandTemplate>
<Button Size="Size.ExtraSmall" Color="Color.Secondary" Clicked="@context.Clicked" Class="mr-1" Style="min-width: auto;">
<i class="oi oi-pencil"></i>
</Button>
</EditCommandTemplate>
<DeleteCommandTemplate>
<Button Size="Size.ExtraSmall" Color="Color.Danger" Clicked="@context.Clicked" Class="mr-1" Style="min-width: auto;">
<i class="oi oi-trash"></i>
</Button>
</DeleteCommandTemplate>
<ClearFilterCommandTemplate>
<Button Size="Size.ExtraSmall" Color="Color.Danger" Clicked="@context.Clicked" Style="min-width: auto;">
<i class="o"></i> <i class="fas fa-trash"></i>
</Button>
</ClearFilterCommandTemplate>
</DataGridCommandColumn>
<DataGridColumn TItem="User" Field="@nameof(User.Name)" Caption="Name" Editable="true"></DataGridColumn>
<DataGridColumn TItem="User" Field="@nameof(User.Mail)" Caption="E-Mail" Editable="true"></DataGridColumn>
<DataGridColumn TItem="User" Field="@nameof(User.Type)" Caption="Typ" Editable="true">
<EditTemplate>
<Select TValue="UserType" @bind-SelectedValue="@context.Item.Type">
@foreach (var enumValue in Enum.GetValues<UserType>())
{
<SelectItem TValue="UserType" Value="enumValue">@enumValue</SelectItem>
}
</Select>
</EditTemplate>
</DataGridColumn>
</DataGridColumns>
</DataGrid>