78 lines
3.4 KiB
Plaintext
78 lines
3.4 KiB
Plaintext
@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" 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>
|
|
<DataGridCheckColumn TItem="User" Field="@nameof(User.Verified)" Caption="Verifiziert" Editable="true" Width="100px">
|
|
<DisplayTemplate>
|
|
<Check TValue="bool" Checked="context.Verified" Disabled="true" ReadOnly="true"/>
|
|
</DisplayTemplate>
|
|
</DataGridCheckColumn>
|
|
<DataGridColumn TItem="User" Field="@nameof(User.Type)" Caption="Typ" Editable="true" Width="200px">
|
|
<EditTemplate>
|
|
<Select TValue="UserType" SelectedValue="@((UserType)context.CellValue)" SelectedValueChanged="@(v => context.CellValue = v)">
|
|
@foreach (var enumValue in Enum.GetValues<UserType>())
|
|
{
|
|
<SelectItem TValue="UserType" Value="enumValue">@enumValue</SelectItem>
|
|
}
|
|
</Select>
|
|
</EditTemplate>
|
|
</DataGridColumn>
|
|
<DataGridColumn TItem="User" Field="@nameof(User.Name)" Caption="Name" Editable="true" Width="250px"></DataGridColumn>
|
|
<DataGridColumn TItem="User" Field="@nameof(User.Mail)" Caption="E-Mail" Editable="true"></DataGridColumn>
|
|
|
|
</DataGridColumns>
|
|
</DataGrid> |