103 lines
4.7 KiB
Plaintext
103 lines
4.7 KiB
Plaintext
@page "/users"
|
|
@using UserService.Infrastructure.DataModels
|
|
@inherits UsersBase
|
|
|
|
<h1>List of all users</h1>
|
|
|
|
@if (Members == null)
|
|
{
|
|
<p>
|
|
<em>Loading...</em>
|
|
</p>
|
|
}
|
|
else
|
|
{
|
|
<TextEdit Placeholder="Search" Size="Size.Large" @bind-Text="@CustomFilterValue" />
|
|
|
|
<DataGrid
|
|
TItem="User"
|
|
RowSelectable="@(u => false)"
|
|
CustomFilter="@OnCustomFilter"
|
|
Sortable="true"
|
|
Editable="true"
|
|
EditMode="DataGridEditMode.Inline"
|
|
RowRemoving="RowDeletingCallback"
|
|
Data="@Members"
|
|
RowInserted="RowInsertedCallback"
|
|
RowInserting="RowInsertingCallback"
|
|
RowUpdating="RowUpdatingCallback">
|
|
<DataGridCommandColumn TItem="User">
|
|
<NewCommandTemplate>
|
|
<Button Color="Color.Success" Clicked="@context.Clicked" title="Create user">
|
|
<i class="fa fa-user-plus"></i>
|
|
</Button>
|
|
</NewCommandTemplate>
|
|
<EditCommandTemplate>
|
|
<Button Color="Color.Primary" Clicked="@context.Clicked" title="Edit user">
|
|
<i class="fa fa-user-edit"></i>
|
|
</Button>
|
|
</EditCommandTemplate>
|
|
<DeleteCommandTemplate>
|
|
<Button Color="Color.Danger" Clicked="@context.Clicked" title="Delete user">
|
|
<i class="fa fa-user-minus"></i>
|
|
</Button>
|
|
</DeleteCommandTemplate>
|
|
<SaveCommandTemplate>
|
|
<Button Color="Color.Success" Clicked="@context.Clicked" title="Save user">
|
|
<i class="fas fa-save"></i>
|
|
</Button>
|
|
</SaveCommandTemplate>
|
|
<CancelCommandTemplate>
|
|
<Button Color="Color.Danger" Clicked="@context.Clicked" title="Cancel editing">
|
|
<i class="far fa-times-circle"></i>
|
|
</Button>
|
|
</CancelCommandTemplate>
|
|
</DataGridCommandColumn>
|
|
<DataGridColumn TItem="User" Field="@nameof(User.Id)" Caption="#" Sortable="false" />
|
|
|
|
<DataGridColumn TItem="User" Field="@nameof(User.CommonName)" Caption="CN" CellsEditableOnEditCommand="false" Editable="true">
|
|
<EditTemplate>
|
|
<Validation Validator="@ValidateCommonName">
|
|
<TextEdit Placeholder="Enter common name" Text="@((string)(((CellEditContext)context).CellValue))" TextChanged="@(v=>((CellEditContext)context).CellValue=v)">
|
|
<Feedback>
|
|
<ValidationSuccess></ValidationSuccess>
|
|
<ValidationError>Please enter a valid common name!</ValidationError>
|
|
</Feedback>
|
|
</TextEdit>
|
|
</Validation>
|
|
</EditTemplate>
|
|
</DataGridColumn>
|
|
<DataGridColumn TItem="User" Field="@nameof(User.FirstName)" Caption="First Name" Editable="true" />
|
|
<DataGridColumn TItem="User" Field="@nameof(User.LastName)" Caption="Last Name" Editable="true"/>
|
|
<DataGridColumn TItem="User" Field="@nameof(User.EMail)" Caption="EMail" Editable="true">
|
|
<EditTemplate>
|
|
<Validation Validator="@ValidateEmail">
|
|
<TextEdit Placeholder="Enter email" Text="@((string)(((CellEditContext)context).CellValue))" TextChanged="@(v=>((CellEditContext)context).CellValue=v)">
|
|
<Feedback>
|
|
<ValidationNone>Please enter the email.</ValidationNone>
|
|
<ValidationSuccess>Email is ok.</ValidationSuccess>
|
|
<ValidationError>Enter valid email!</ValidationError>
|
|
</Feedback>
|
|
</TextEdit>
|
|
</Validation>
|
|
</EditTemplate>
|
|
</DataGridColumn>
|
|
<DataGridSelectColumn TItem="User" Field="@nameof(User.ParentId)" Caption="Parent" Editable="true">
|
|
<DisplayTemplate>
|
|
@{
|
|
var name = ((User) context ).Parent?.CommonName ?? "-";
|
|
@name
|
|
}
|
|
</DisplayTemplate>
|
|
<EditTemplate>
|
|
<Select TValue="int?" SelectedValue="@((int?)(context.CellValue))" SelectedValueChanged="@(v => context.CellValue = v)" >
|
|
@foreach (var item in OrganizationUnits ?? Enumerable.Empty<OrganizationUnit>())
|
|
{
|
|
<SelectItem TValue="int" Value="@(item.Id)">@item.CommonName</SelectItem>
|
|
}
|
|
</Select>
|
|
</EditTemplate>
|
|
</DataGridSelectColumn>
|
|
<DataGridCheckColumn TItem="User" Field="@nameof(User.IsActive)" Caption="Active" Editable="true" />
|
|
</DataGrid>
|
|
} |