Browse Source

Improve visible usage to avoid NRE

pull/6647/head
Ilkay Ilknur 6 years ago
parent
commit
68eecc7ee7
  1. 4
      framework/src/Volo.Abp.BlazoriseUI/Components/AbpExtensibleDataGrid.razor
  2. 14
      framework/src/Volo.Abp.BlazoriseUI/Components/AbpExtensibleDataGrid.razor.cs

4
framework/src/Volo.Abp.BlazoriseUI/Components/AbpExtensibleDataGrid.razor

@ -30,7 +30,7 @@
Icon="@action.Icon"
Clicked="async () => await action.Clicked(context)"
ConfirmationMessage="() => action.ConfirmationMessage.Invoke(context)"
Visible="async () => await action.Visible?.Invoke(context)"
Visible="async () =>await VisibleCore(action,context)"
Text="@action.Text">
</EntityAction>
}
@ -41,7 +41,7 @@
Clicked="async () => await action.Clicked(context)"
Color="@(action.Color!=null ? (Blazorise.Color)action.Color : Blazorise.Color.None)"
Icon="@action.Icon"
Visible="async () => await action.Visible?.Invoke(context)"
Visible="async () =>await VisibleCore(action,context)"
Text="@action.Text">
</EntityAction>
}

14
framework/src/Volo.Abp.BlazoriseUI/Components/AbpExtensibleDataGrid.razor.cs

@ -8,6 +8,8 @@ using Volo.Abp.AspNetCore.Components.Extensibility.TableColumns;
using System.Linq;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Localization;
using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Components.Extensibility.EntityActions;
namespace Volo.Abp.BlazoriseUI.Components
{
@ -46,5 +48,17 @@ namespace Volo.Abp.BlazoriseUI.Components
builder.CloseComponent();
};
}
protected Task<bool> VisibleCore(EntityAction action, TItem item)
{
if (action.Visible != null)
{
return action.Visible.Invoke(item);
}
else
{
return Task.FromResult(true);
}
}
}
}
Loading…
Cancel
Save