Skip to content

Commit 71dda59

Browse files
authored
Add option to "grey out" badges in header of stepper if step is incomplete (#209)
1 parent d7ae4f9 commit 71dda59

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

CodeBeam.MudBlazor.Extensions/Components/Stepper/MudStepper.razor

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
}
4545
else
4646
{
47-
<MudAvatar Style="@AvatarStylename" Color="@Color" Variant="@Variant" Size="@HeaderSize">
47+
Color incompleteColor = (HeaderBadgeView == HeaderBadgeView.GreyOutIncomplete) && !active ? Color.Transparent : @Color;
48+
<MudAvatar Style="@AvatarStylename" Color="@incompleteColor" Variant="@Variant" Size="@HeaderSize">
4849
<MudIcon Class="pa-1" Icon="@step.Icon" Size="@HeaderSize" />
4950
</MudAvatar>
5051
}

CodeBeam.MudBlazor.Extensions/Components/Stepper/MudStepper.razor.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,12 @@ internal int ActiveIndex
204204
/// </summary>
205205
[Parameter]
206206
public Variant Variant { get; set; }
207+
208+
/// <summary>
209+
/// Choose header badge view. Default is all.
210+
/// </summary>
211+
[Parameter]
212+
public HeaderBadgeView HeaderBadgeView { get; set; } = HeaderBadgeView.All;
207213

208214
/// <summary>
209215
/// Choose header text view. Default is all.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System.ComponentModel;
2+
3+
namespace MudExtensions.Enums
4+
{
5+
public enum HeaderBadgeView
6+
{
7+
[Description("grey-out-incomplete")]
8+
GreyOutIncomplete,
9+
[Description("all")]
10+
All,
11+
}
12+
}

ComponentViewer.Docs/Pages/Examples/StepperExample1.razor

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<MudItem xs="12" sm="8" Class="d-flex align-center">
88
<MudStepper @ref="_stepper" Class="mud-width-full" ContentStyle="min-height: 400px" Linear="_linear" Vertical="_vertical" Color="_color" Variant="_variant"
99
DisableAnimation="_disableAnimation" DisablePreviousButton="_disablePreviousButton" DisableNextButton="_disableNextButton"
10-
DisableSkipButton="_disableSkipButton" DisableStepResultIndicator="_disableStepResultIndicator" HeaderTextView="_headerTextView"
11-
PreventStepChangeAsync="new Func<StepChangeDirection, Task<bool>>(CheckChange)" LocalizedStrings="GetLocalizedStrings()"
12-
MobileView="_mobileView" IconActionButtons="_iconActionButtons" Loading="_loading" HeaderSize="_headerSize">
10+
DisableSkipButton="_disableSkipButton" DisableStepResultIndicator="_disableStepResultIndicator" HeaderBadgeView="_headerBadgeView"
11+
HeaderTextView="_headerTextView" PreventStepChangeAsync="new Func<StepChangeDirection, Task<bool>>(CheckChange)" LocalizedStrings="GetLocalizedStrings()"
12+
MobileView="_mobileView" IconActionButtons="_iconActionButtons" Loading="_loading" HeaderSize="_headerSize" HeaderIcon="false">
1313
<StaticContent>
1414
@if (_showStaticContent)
1515
{
@@ -109,6 +109,12 @@
109109
<MudSelectItem Value="item">@item.ToDescriptionString()</MudSelectItem>
110110
}
111111
</MudSelect>
112+
<MudSelect @bind-Value="_headerBadgeView" Variant="Variant.Outlined" Label="Header Badge View" Margin="Margin.Dense" Dense="true">
113+
@foreach (HeaderBadgeView item in Enum.GetValues<HeaderBadgeView>())
114+
{
115+
<MudSelectItem Value="item">@item.ToDescriptionString()</MudSelectItem>
116+
}
117+
</MudSelect>
112118
<MudSelectExtended @bind-Value="_headerSize" ItemCollection="@(Enum.GetValues<Size>())" Variant="Variant.Outlined" Label="Header Size" Margin="Margin.Dense" Dense="true" />
113119
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="(() => _stepper.Reset())">Reset</MudButton>
114120
</MudStack>
@@ -124,6 +130,7 @@
124130
bool _mobileView;
125131
bool _iconActionButtons;
126132
Variant _variant = Variant.Filled;
133+
HeaderBadgeView _headerBadgeView = HeaderBadgeView.All;
127134
HeaderTextView _headerTextView = HeaderTextView.All;
128135
bool _disableAnimation = false;
129136
bool _disablePreviousButton = false;

0 commit comments

Comments
 (0)