Browse Source

Add indeterminate state to 'Select All' checkbox

pull/23846/head
maliming 8 months ago
parent
commit
80fdac8f27
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor
  2. 5
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs

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

@ -24,7 +24,7 @@
</Column>
<Column ColumnSize="ColumnSize.IsAuto">
<Field>
<Check Disabled="_selectAllDisabled" Cursor="Cursor.Pointer" CheckedChanged="@GrantAllAsync" Checked="@GrantAll" TValue="bool">
<Check Disabled="_selectAllDisabled" Cursor="Cursor.Pointer" CheckedChanged="@GrantAllAsync" Checked="@GrantAll" TValue="bool" Indeterminate="@GrantAny">
@L["SelectAllInAllTabs"]
</Check>
</Field>

5
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<string, int> _permissionDepths = new Dictionary<string, int>();
@ -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);
}

Loading…
Cancel
Save