From 80fdac8f273ae790674aa0c7466b602073c30651 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 2 Oct 2025 13:43:35 +0800 Subject: [PATCH] Add indeterminate state to 'Select All' checkbox --- .../Components/PermissionManagementModal.razor | 2 +- .../Components/PermissionManagementModal.razor.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 bc89353185..634acfa4a6 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 @@ -24,7 +24,7 @@ - + @L["SelectAllInAllTabs"] 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 fcacf10ab3..bab8941dc5 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 @@ -36,6 +36,7 @@ public partial class PermissionManagementModal protected string _permissionGroupSearchText; protected bool GrantAll { get; set; } + protected bool GrantAny { get; set; } protected Dictionary _permissionDepths = new Dictionary(); @@ -61,6 +62,7 @@ public partial class PermissionManagementModal NormalizePermissionGroup(); GrantAll = _groups.SelectMany(x => x.Permissions).All(p => p.IsGranted); + GrantAny = !GrantAll && _groups.SelectMany(x => x.Permissions).Any(p => p.IsGranted); await InvokeAsync(_modal.Show); } @@ -73,6 +75,7 @@ public partial class PermissionManagementModal protected virtual async Task GrantAllAsync(bool grantAll) { GrantAll = grantAll; + GrantAny = false; if (_allGroups == null) { @@ -194,6 +197,7 @@ public partial class PermissionManagementModal } GrantAll = _groups.SelectMany(x => x.Permissions).All(p => p.IsGranted); + GrantAny = !GrantAll && _groups.SelectMany(x => x.Permissions).Any(p => p.IsGranted); await InvokeAsync(StateHasChanged); } @@ -216,6 +220,7 @@ public partial class PermissionManagementModal } GrantAll = _groups.SelectMany(x => x.Permissions).All(p => p.IsGranted); + GrantAny = !GrantAll && _groups.SelectMany(x => x.Permissions).Any(p => p.IsGranted); await InvokeAsync(StateHasChanged); }