Browse Source

Improve

pull/22144/head
liangshiwei 2 years ago
parent
commit
cf51ce5d47
  1. 49
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs

49
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs

@ -81,39 +81,48 @@ public partial class PermissionManagementModal
{
return;
}
_grantedPermissionCount = 0;
_notGrantedPermissionCount = 0;
await OnPermissionGroupSearchTextChangedAsync(string.Empty);
foreach (var permission in _allGroups.SelectMany(x => x.Permissions))
{
if (!IsDisabledPermission(permission))
if (IsDisabledPermission(permission))
{
permission.IsGranted = grantAll;
continue;
}
if (grantAll)
{
_grantedPermissionCount++;
}
else
{
_notGrantedPermissionCount++;
}
permission.IsGranted = grantAll;
if (grantAll)
{
_grantedPermissionCount++;
}
else
{
_notGrantedPermissionCount++;
}
}
await InvokeAsync(StateHasChanged);
}
protected void NormalizePermissionGroup()
protected virtual void NormalizePermissionGroup(bool checkDisabledPermissions = true)
{
_selectAllDisabled = _groups.All(IsPermissionGroupDisabled);
_grantedPermissionCount = 0;
_notGrantedPermissionCount = 0;
_disabledPermissions.Clear();
if (checkDisabledPermissions)
{
_disabledPermissions.Clear();
}
foreach (var permission in _groups.SelectMany(x => x.Permissions))
{
if (permission.IsGranted && permission.GrantedProviders.All(x => x.ProviderName != _providerName))
if (checkDisabledPermissions && permission.IsGranted && permission.GrantedProviders.All(x => x.ProviderName != _providerName))
{
_disabledPermissions.Add(permission);
continue;
@ -266,19 +275,19 @@ public partial class PermissionManagementModal
permission.IsGranted = value;
}
protected PermissionGrantInfoDto GetParentPermission(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
protected virtual PermissionGrantInfoDto GetParentPermission(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
{
return permissionGroup.Permissions.First(x => x.Name == permission.ParentName);
}
protected List<PermissionGrantInfoDto> GetChildPermissions(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
protected virtual List<PermissionGrantInfoDto> GetChildPermissions(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
{
var childPermissions = new List<PermissionGrantInfoDto>();
GetChildPermissions(childPermissions, permissionGroup.Permissions, permission);
return childPermissions;
}
protected void GetChildPermissions(List<PermissionGrantInfoDto> allChildPermissions, List<PermissionGrantInfoDto> permissions, PermissionGrantInfoDto permission)
protected virtual void GetChildPermissions(List<PermissionGrantInfoDto> allChildPermissions, List<PermissionGrantInfoDto> permissions, PermissionGrantInfoDto permission)
{
var childPermissions = permissions.Where(x => x.ParentName == permission.Name).ToList();
if (childPermissions.Count == 0)
@ -294,7 +303,7 @@ public partial class PermissionManagementModal
}
}
protected bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo)
protected virtual bool IsDisabledPermission(PermissionGrantInfoDto permissionGrantInfo)
{
return _disabledPermissions.Any(x => x == permissionGrantInfo);
}
@ -338,9 +347,9 @@ public partial class PermissionManagementModal
}
_permissionGroupSearchText = value;
_groups = _permissionGroupSearchText.IsNullOrWhiteSpace() ? _allGroups : _allGroups.Where(x => x.DisplayName.Contains(_permissionGroupSearchText, StringComparison.OrdinalIgnoreCase) || x.Permissions.Any(permission => permission.DisplayName.Contains(_permissionGroupSearchText, StringComparison.OrdinalIgnoreCase))).ToList();
_groups = _permissionGroupSearchText.IsNullOrWhiteSpace() ? _allGroups.ToList() : _allGroups.Where(x => x.DisplayName.Contains(_permissionGroupSearchText, StringComparison.OrdinalIgnoreCase) || x.Permissions.Any(permission => permission.DisplayName.Contains(_permissionGroupSearchText, StringComparison.OrdinalIgnoreCase))).ToList();
NormalizePermissionGroup();
NormalizePermissionGroup(false);
await InvokeAsync(StateHasChanged);
}

Loading…
Cancel
Save