Browse Source

Made EntityAction.IsVisible public.

pull/8074/head
Halil İbrahim Kalkan 6 years ago
parent
commit
3badaafade
  1. 17
      framework/src/Volo.Abp.BlazoriseUI/Components/EntityAction.razor
  2. 8
      framework/src/Volo.Abp.BlazoriseUI/Components/EntityAction.razor.cs
  3. 2
      framework/src/Volo.Abp.BlazoriseUI/Components/EntityActions.razor.cs

17
framework/src/Volo.Abp.BlazoriseUI/Components/EntityAction.razor

@ -1,16 +1,15 @@
@typeparam TItem @typeparam TItem
@using Blazorise
@if (ParentActions.Type == ActionType.Dropdown) @if (IsVisible && HasPermission)
{ {
if (IsVisible && Primary == false) if (ParentActions.Type == ActionType.Dropdown)
{ {
<DropdownItem Clicked="@ActionClickedAsync">@Text</DropdownItem> if (Primary == false)
{
<DropdownItem Clicked="@ActionClickedAsync">@Text</DropdownItem>
}
} }
} else
else
{
if (IsVisible)
{ {
<Button Block="true" <Button Block="true"
Color="@Color" Color="@Color"
@ -18,4 +17,4 @@ else
@Text @Text
</Button> </Button>
} }
} }

8
framework/src/Volo.Abp.BlazoriseUI/Components/EntityAction.razor.cs

@ -1,4 +1,5 @@
using System; using System;
using System.Diagnostics.SymbolStore;
using System.Threading.Tasks; using System.Threading.Tasks;
using Blazorise; using Blazorise;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
@ -9,7 +10,10 @@ namespace Volo.Abp.BlazoriseUI.Components
{ {
public partial class EntityAction<TItem> : ComponentBase public partial class EntityAction<TItem> : ComponentBase
{ {
internal bool IsVisible = true; [Parameter]
public bool IsVisible { get; set; } = true;
internal bool HasPermission { get; set; } = true;
[Parameter] [Parameter]
public string Text { get; set; } public string Text { get; set; }
@ -44,7 +48,7 @@ namespace Volo.Abp.BlazoriseUI.Components
await SetDefaultValuesAsync(); await SetDefaultValuesAsync();
if (!RequiredPolicy.IsNullOrEmpty()) if (!RequiredPolicy.IsNullOrEmpty())
{ {
IsVisible = await AuthorizationService.IsGrantedAsync(RequiredPolicy); HasPermission = await AuthorizationService.IsGrantedAsync(RequiredPolicy);
} }
ParentActions.AddAction(this); ParentActions.AddAction(this);
} }

2
framework/src/Volo.Abp.BlazoriseUI/Components/EntityActions.razor.cs

@ -52,7 +52,7 @@ namespace Volo.Abp.BlazoriseUI.Components
{ {
if (ParentEntityActionsColumn != null) if (ParentEntityActionsColumn != null)
{ {
ParentEntityActionsColumn.Displayable = Actions.Any(t => t.IsVisible); ParentEntityActionsColumn.Displayable = Actions.Any(t => t.IsVisible && t.HasPermission);
} }
await InvokeAsync(StateHasChanged); await InvokeAsync(StateHasChanged);

Loading…
Cancel
Save