Skip to content

Commit bb90568

Browse files
authored
Stepper Fix ProgressValue does not Update When Step Add/Remove (#391)
* Stepper Fix ProgressValue does not Update When Step Add/Remove * Change Example Names * Fix Error and Warning
1 parent 9729c29 commit bb90568

File tree

14 files changed

+63
-22
lines changed

14 files changed

+63
-22
lines changed

CodeBeam.MudBlazor.Extensions.Docs/Pages/Components/Stepper/StepperPage.razor

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
@page "/mudstepperextended"
2+
@namespace MudExtensions.Docs.Pages
3+
4+
<ExamplePage Title="MudStepperExtended">
5+
<ExampleCard ComponentName="StepperExtended" ExampleName="StepperExtendedExample1" Title="Playground" Description="Place MudSteps in the MudStepper.">
6+
<StepperExtendedExample1 />
7+
</ExampleCard>
8+
9+
<ExampleCard ComponentName="StepperExtended" ExampleName="StepperExtendedExample2" Title="Order" Description="You can set each step's order dynamically.">
10+
<StepperExtendedExample2 />
11+
</ExampleCard>
12+
</ExamplePage>

CodeBeam.MudBlazor.Extensions.Docs/Pages/Index.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@
228228
{
229229
new("MudListExtended", "The extended MudList component."),
230230
new("MudSelectExtended", "The extended MudSelect component."),
231+
new("MudStepperExtended", "A wizard-like steps to control the flow with rich options."),
231232
new("MudTextFieldExtended", "The extended MudTextField component."),
232233
};
233234

@@ -254,7 +255,6 @@
254255
new("MudSignaturePad", "A signature pad."),
255256
new("MudSpeedDial", "Stacked buttons in a menu content."),
256257
new("MudSplitter", "A resizeable content splitter."),
257-
new("MudStepper", "A wizard-like steps to control the flow with rich options."),
258258
new("MudSwitchM3", "Material 3 switch component that has all MudBlazor features."),
259259
new("MudTeleport", "Teleport the content to the specified parent and not follow the DOM hierarchy."),
260260
new("MudTextM3", "Material 3 typography"),

CodeBeam.MudBlazor.Extensions.Docs/Shared/MainLayout.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
<MudNavLink Href="/mudsignaturepad">SignaturePad</MudNavLink>
6161
<MudNavLink Href="/mudspeeddial">SpeedDial</MudNavLink>
6262
<MudNavLink Href="/mudsplitter">Splitter</MudNavLink>
63-
<MudNavLink Href="/mudstepper">Stepper</MudNavLink>
63+
<MudNavLink Href="/mudstepperextended">StepperExtended</MudNavLink>
6464
<MudNavLink Href="/mudswitchm3">SwitchM3</MudNavLink>
6565
<MudNavLink Href="/mudteleport">Teleport</MudNavLink>
6666
<MudNavLink Href="/mudtextfieldextended">TextFieldExtended</MudNavLink>

CodeBeam.MudBlazor.Extensions.UnitTests/Components/RenderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void SplitterPageRenderTest()
5151
[Test]
5252
public void StepperPageRenderTest()
5353
{
54-
var comp = Context.RenderComponent<StepperPage>();
54+
var comp = Context.RenderComponent<StepperExtendedPage>();
5555
comp.Markup.Should().NotBeNullOrEmpty();
5656
}
5757

CodeBeam.MudBlazor.Extensions/Components/SpeedDial/MudSpeedDial.razor.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
namespace MudExtensions
66
{
7+
/// <summary>
8+
///
9+
/// </summary>
710
public partial class MudSpeedDial : MudComponentBase
811
{
912
Guid _animationGuid = Guid.NewGuid();

CodeBeam.MudBlazor.Extensions/Components/StepperExtended/MudStepperExtended.razor.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,18 @@ internal int ActiveIndex
152152
set
153153
{
154154
_activeIndex = value;
155-
ProgressValue = _activeIndex * (100.0 / (Steps.Count - 1));
155+
UpdateProgressValue();
156156
}
157157
}
158158

159159
internal double ProgressValue;
160+
/// <summary>
161+
///
162+
/// </summary>
163+
protected void UpdateProgressValue()
164+
{
165+
ProgressValue = _activeIndex * (100.0 / (Steps.Count - 1));
166+
}
160167

161168
/// <summary>
162169
/// Provides CSS classes for the step content.
@@ -349,6 +356,7 @@ internal void AddStep(MudStepExtended step)
349356
ReorderSteps();
350357
}
351358

359+
UpdateProgressValue();
352360
StateHasChanged();
353361
}
354362

@@ -364,6 +372,7 @@ internal void RemoveStep(MudStepExtended step)
364372
{
365373
Steps.Remove(step);
366374
_allSteps.Remove(step);
375+
UpdateProgressValue();
367376
StateHasChanged();
368377
}
369378

@@ -633,10 +642,11 @@ public void SetStepStatus(int index, StepStatus status)
633642
}
634643

635644
/// <summary>
636-
///
645+
/// Update all component and render again.
637646
/// </summary>
638647
public void ForceRender()
639648
{
649+
UpdateProgressValue();
640650
StateHasChanged();
641651
}
642652

CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77

88
namespace MudExtensions
99
{
10+
/// <summary>
11+
///
12+
/// </summary>
13+
/// <typeparam name="T"></typeparam>
1014
public partial class MudTextFieldExtended<T> : MudDebouncedInputExtended<T>
1115
{
1216
/// <summary>

0 commit comments

Comments
 (0)