diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor index 2786318c36..a2c31ca377 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor @@ -3,25 +3,71 @@ @inject IStringLocalizer L - + - Edit role + @L["Permissions"] - @_providerKey + + + @L["SelectAllInAllTabs"] + + + + @if (_groups != null) { - @foreach (var group in _groups) - { -

@group.DisplayName

+ + + @foreach (var group in _groups) + { + + @if (group.Permissions.Any(x => x.IsGranted)) + { + + @group.DisplayName ( @(group.Permissions.Count(x => x.IsGranted)) ) + + } + else + { + + @group.DisplayName ( @(group.Permissions.Count(x => x.IsGranted)) ) + + } + + } + + + @foreach (var group in _groups) + { + +

@group.DisplayName

+ + @{ + /* TODO: add Select All In This Tab + + + + @L["SelectAllInThisTab"] + - @foreach (var permission in group.Permissions) - { - - @permission.DisplayName - - } - } + + */ + } + + + @foreach (var permission in group.Permissions) + { + + @permission.DisplayName + + } + +
+ } +
+
}
diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs index 7250c177d7..d4999c63f4 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs @@ -18,6 +18,29 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components private string _entityDisplayName; private List _groups; + private bool GrantAll + { + get + { + return _groups != null && _groups.All(x => x.Permissions.All(y => y.IsGranted)); + } + set + { + if (_groups == null) + { + return; + } + + foreach (var permissionGroupDto in _groups) + { + foreach (var permission in permissionGroupDto.Permissions) + { + permission.IsGranted = value; + } + } + } + } + public async Task OpenAsync(string providerName, string providerKey) { _providerName = providerName; @@ -55,5 +78,10 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components { return "PermissionGroup_" + name.Replace(".", "_"); } + + public void GrantAllChanged(bool value) + { + GrantAll = value; + } } }