Browse Source

Merge pull request #18399 from abpframework/auto-merge/rel-8-0/2328

Merge branch dev with rel-8.0
pull/18422/head
maliming 3 years ago
committed by GitHub
parent
commit
2de75e545f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor
  2. 39
      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) @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 <Check
Disabled="@(IsDisabledPermission(permission))" Disabled="@(IsDisabledPermission(permission))"
Cursor="Cursor.Pointer" Cursor="Cursor.Pointer"

39
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() public PermissionManagementModal()
{ {
@ -113,6 +115,11 @@ public partial class PermissionManagementModal
_selectedTabName = GetNormalizedGroupName(_groups.First().Name); _selectedTabName = GetNormalizedGroupName(_groups.First().Name);
foreach (var group in _groups)
{
SetPermissionDepths(group.Permissions, null, 0);
}
await InvokeAsync(_modal.Show); await InvokeAsync(_modal.Show);
} }
catch (Exception ex) catch (Exception ex)
@ -164,6 +171,18 @@ public partial class PermissionManagementModal
return "PermissionGroup_" + name.Replace(".", "_"); 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) protected virtual void GroupGrantAllChanged(bool value, PermissionGroupDto permissionGroup)
{ {
foreach (var permission in permissionGroup.Permissions) foreach (var permission in permissionGroup.Permissions)
@ -179,11 +198,9 @@ public partial class PermissionManagementModal
{ {
SetPermissionGrant(permission, value); SetPermissionGrant(permission, value);
if (value && permission.ParentName != null) if (value)
{ {
var parentPermission = GetParentPermission(permissionGroup, permission); SetParentPermissionGrant(permissionGroup, permission);
SetPermissionGrant(parentPermission, true);
} }
else if (value == false) else if (value == false)
{ {
@ -196,6 +213,20 @@ public partial class PermissionManagementModal
} }
} }
private void SetParentPermissionGrant(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
{
if(permission.ParentName == null)
{
return;
}
var parentPermission = GetParentPermission(permissionGroup, permission);
SetPermissionGrant(parentPermission, true);
SetParentPermissionGrant(permissionGroup, parentPermission);
}
private void SetPermissionGrant(PermissionGrantInfoDto permission, bool value) private void SetPermissionGrant(PermissionGrantInfoDto permission, bool value)
{ {
if (permission.IsGranted == value) if (permission.IsGranted == value)

Loading…
Cancel
Save