Browse Source

Created SubmitButton component

pull/6536/head
Mladen Macanovic 6 years ago
parent
commit
0611927bfb
  1. 3
      framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor
  2. 62
      framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor.cs

3
framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor

@ -0,0 +1,3 @@
<Button form="@Form" Type="@Type" Color="@Color" Block="@Block" PreventDefaultOnSubmit="@PreventDefaultOnSubmit" Disabled="@IsDisabled" Loading="@IsLoading" Clicked="@OnClickedHandler">
@ChildContent
</Button>

62
framework/src/Volo.Abp.BlazoriseUI/Components/SubmitButton.razor.cs

@ -0,0 +1,62 @@
using System;
using System.Threading.Tasks;
using Blazorise;
using Microsoft.AspNetCore.Components;
namespace Volo.Abp.BlazoriseUI.Components
{
public partial class SubmitButton : ComponentBase
{
protected bool Submiting { get; set; }
[Parameter]
public string Form { get; set; }
[Parameter]
public ButtonType Type { get; set; } = ButtonType.Submit;
[Parameter]
public Color Color { get; set; } = Color.Primary;
[Parameter]
public bool PreventDefaultOnSubmit { get; set; } = true;
[Parameter]
public bool Block { get; set; }
[Parameter]
public bool? Disabled { get; set; }
[Parameter]
public EventCallback Clicked { get; set; }
[Parameter]
public RenderFragment ChildContent { get; set; }
protected bool IsDisabled
=> Disabled == true || Submiting;
protected bool IsLoading
=> Submiting;
protected virtual async Task OnClickedHandler()
{
try
{
Submiting = true;
await Clicked.InvokeAsync(null);
}
catch (Exception)
{
throw;
}
finally
{
Submiting = false;
await InvokeAsync(StateHasChanged);
}
}
}
}
Loading…
Cancel
Save