Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions src/Core/Components/Wizard/FluentWizard.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ protected virtual async Task OnNextHandlerAsync(MouseEventArgs e)
if (!isCanceled)
{
Value = targetIndex;
await ValueChanged.InvokeAsync(targetIndex);
StateHasChanged();
}
}
Expand All @@ -182,6 +183,7 @@ protected virtual async Task OnPreviousHandlerAsync(MouseEventArgs e)
if (!isCanceled)
{
Value = targetIndex;
await ValueChanged.InvokeAsync(targetIndex);
StateHasChanged();
}
}
Expand All @@ -190,9 +192,11 @@ protected virtual async Task OnPreviousHandlerAsync(MouseEventArgs e)
protected virtual async Task<FluentWizardStepChangeEventArgs> OnStepChangeHandlerAsync(int targetIndex, bool validateEditContexts)
{
var stepChangeArgs = new FluentWizardStepChangeEventArgs(targetIndex, _steps[targetIndex].Label);
var allEditContextsAreValid = false;

if (validateEditContexts)
{
var allEditContextsAreValid = _steps[Value].ValidateEditContexts();
allEditContextsAreValid = _steps[Value].ValidateEditContexts();
stepChangeArgs.IsCancelled = !allEditContextsAreValid;

if (!allEditContextsAreValid)
Expand All @@ -208,8 +212,6 @@ protected virtual async Task<FluentWizardStepChangeEventArgs> OnStepChangeHandle
await _steps[Value].InvokeOnSubmitForEditFormsAsync();
}

await ValueChanged.InvokeAsync(targetIndex);

return await OnStepChangeHandlerAsync(stepChangeArgs);
}

Expand Down Expand Up @@ -256,6 +258,7 @@ internal async Task GoToStepAsync(int targetIndex, bool validateEditContexts)
if (!isCanceled)
{
Value = targetIndex;
await ValueChanged.InvokeAsync(targetIndex);
StateHasChanged();
}
}
Expand Down
8 changes: 6 additions & 2 deletions tests/Core/Wizard/FluentWizardTests.razor
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,8 @@
[Fact]
public void FluentWizard_EditForm_EditContextIsInValid_OnNext()
{
int stepIndex = 0;

var testRecord1 = new TestRecord
{
NumberBetween1and10 = 15,
Expand All @@ -331,9 +333,9 @@
var testRecord2 = new TestRecord
{
NumberBetween1and10 = 15,
};
};

var cut = Render(@<FluentWizard OnFinish="OnFinishHandler">
var cut = Render(@<FluentWizard OnFinish="OnFinishHandler" @bind-Value="@stepIndex">
<Steps>
<FluentWizardStep>
<FluentEditForm Model="testRecord1">
Expand Down Expand Up @@ -367,9 +369,11 @@
void OnFinishHandler()
{
finishHandled = true;

}

Assert.False(finishHandled);
Assert.Equal(0, stepIndex);
}

[Fact]
Expand Down