Browse Source

Support nested permission

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

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

@ -62,7 +62,7 @@
@foreach (var permission in group.Permissions)
{
<Field Margin="permission.ParentName != null ? Margin.Is3.OnAll : Margin.Is3.OnY">
<Field Style="@($"margin-inline-start: {_permissionDepths[permission.Name] * 20}px")">
<Check
Disabled="@(IsDisabledPermission(permission))"
Cursor="Cursor.Pointer"

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

@ -71,6 +71,8 @@ public partial class PermissionManagementModal
}
}
}
protected Dictionary<string, int> _permissionDepths = new Dictionary<string, int>();
public PermissionManagementModal()
{
@ -113,6 +115,11 @@ public partial class PermissionManagementModal
_selectedTabName = GetNormalizedGroupName(_groups.First().Name);
foreach (var group in _groups)
{
SetPermissionDepths(group.Permissions, null, 0);
}
await InvokeAsync(_modal.Show);
}
catch (Exception ex)
@ -164,6 +171,18 @@ public partial class PermissionManagementModal
return "PermissionGroup_" + name.Replace(".", "_");
}
protected virtual void SetPermissionDepths(List<PermissionGrantInfoDto> permissions, string currentParent, int currentDepth)
{
foreach (var item in permissions)
{
if (item.ParentName == currentParent)
{
_permissionDepths[item.Name] = currentDepth;
SetPermissionDepths(permissions, item.Name, currentDepth + 1);
}
}
}
protected virtual void GroupGrantAllChanged(bool value, PermissionGroupDto permissionGroup)
{
foreach (var permission in permissionGroup.Permissions)

Loading…
Cancel
Save