/
qwiklly
/
arc-server
Обзор
Документация
Войти
/
qwiklly
/
arc-server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
src/AppRemoteConfig.UI/Pages/Users/User.razor
98 строк
2 KB
CLTanuki
chore: modules exploded
24 янв 2024, 18:53
24 янв 2024, 18:53
6b5ba70
Код
Авторство
О чём код?
@page "/users" @using AppRemoteConfig.Services.Interfaces @attribute [Authorize(Roles = "Admin, Superuser")] <PageTitle>Users</PageTitle> <h1>Пользователи</h1> @if (_users == null) { <p><em>Загрузка...</em></p> } else { <table class="table"> <thead> <tr> <th>Имя пользователя</th> <th>Имя</th> <th>Фамилия</th> <th>Отчество</th> <th class="table-header-buttons"/> <th class="table-header-buttons"/> </tr> </thead> <tbody> @foreach (var user in _users) { <tr> <td>@user.UserName</td> <td>@user.FirstName</td> <td>@user.LastName</td> <td>@(user.Patronymic ?? "-")</td> <td><button class="btn btn-primary" @onclick="() => DeleteUser(user.Id)">Удалить</button></td> <td><button class="btn btn-primary" @onclick="() => EditUser(user)">Изменить</button></td> </tr> } </tbody> </table> } <TemplatedEditingDialog EditorComponentType="typeof(UserEditor)" Parameters="@(new Dictionary<string, object>{{"User", EditingUser}})" Entity="EditingUser" OnCancel="CancelEditingUser" OnConfirm="ConfirmEditingUser" Show="ShowEditDialog"/> @code { [Inject] private IUserService userService { get ; set; } = default!; private bool ShowEditDialog { get; set; } private AppUserDto? EditingUser { get; set; } private IEnumerable<AppUserDto>? _users; protected override async Task OnInitializedAsync() { await GetUsers(); } private async Task GetUsers() { _users = await this.userService.ListAppUsers(); } private async Task DeleteUser(Guid id) { await this.userService.DeleteAppUser(id); await GetUsers(); } private void EditUser(AppUserDto user) { ShowEditDialog = true; EditingUser = user; } private async void CancelEditingUser() { ShowEditDialog = false; EditingUser = null; await GetUsers(); } private async Task ConfirmEditingUser() { await this.userService.PutAppUser(EditingUser); ShowEditDialog = false; EditingUser = null; } }