From cdc4de432a911e9adca1fa9d92dcd9c96a310a0a Mon Sep 17 00:00:00 2001 From: Pavel Vesely Date: Wed, 3 Jun 2020 20:10:52 +0200 Subject: [PATCH] User manager search persistence --- Oqtane.Client/Modules/Admin/Users/Index.razor | 53 +++++++++++++++---- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Users/Index.razor b/Oqtane.Client/Modules/Admin/Users/Index.razor index cf180d73..4abc278a 100644 --- a/Oqtane.Client/Modules/Admin/Users/Index.razor +++ b/Oqtane.Client/Modules/Admin/Users/Index.razor @@ -2,17 +2,20 @@ @inherits ModuleBase @inject IUserRoleService UserRoleService @inject IUserService UserService +@inject ISettingService SettingService @if (userroles == null) { -

Loading...

+

+ Loading... +

} else {
- +
@@ -23,9 +26,15 @@ else Name - - - + + + + + + + + + @context.User.DisplayName @@ -34,19 +43,24 @@ else @code { private List allroles; private List userroles; - private string search; + private string _search; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; protected override async Task OnInitializedAsync() { allroles = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId); - userroles = allroles.Where(item => item.Role.Name == Constants.RegisteredRole).ToList(); + await LoadSettingsAsync(); + userroles = Search(_search); } - private void OnSearch() + private List Search(string search) { - userroles = allroles + if (string.IsNullOrEmpty(_search)) + { + return allroles.Where(item => item.Role.Name == Constants.RegisteredRole).ToList(); + } + return allroles .Where(item => item.Role.Name == Constants.RegisteredRole && ( item.User.Username.Contains(search, StringComparison.OrdinalIgnoreCase) || @@ -57,6 +71,11 @@ else .ToList(); } + private async Task OnSearch() + { + userroles = Search(_search); + await UpdateSettingsAsync(); + } private async Task DeleteUser(UserRole UserRole) { @@ -76,4 +95,20 @@ else AddModuleMessage(ex.Message, MessageType.Error); } } + + private string settingSearch = "AU-search"; + + private async Task LoadSettingsAsync() + { + Dictionary settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); + _search = SettingService.GetSetting(settings, settingSearch, ""); + } + + private async Task UpdateSettingsAsync() + { + Dictionary settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); + SettingService.SetSetting(settings, settingSearch, _search); + await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId); + } + }