Skip to content

Commit 5cf12fc

Browse files
authored
Modified the RadzenSplitButton to allow customizing its dropdown icon. (#1530)
* Modified the RadzenSplitButton to allow customizing its dropdown icon. * Changed the text in demo page.
1 parent 5abc923 commit 5cf12fc

File tree

4 files changed

+61
-2
lines changed

4 files changed

+61
-2
lines changed

Radzen.Blazor/RadzenSplitButton.razor

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@
4040
}
4141
}
4242
}
43-
</button><button tabindex="-1" disabled="@IsDisabled" onclick="@OpenPopupScript()" class="@getPopupButtonCss()" type="button" aria-label="@OpenAriaLabel">
44-
<span aria-hidden="true" class="rz-button-icon-left rzi rzi-chevron-down"></span><span class="rz-button-text"></span>
43+
</button>
44+
<button tabindex="-1" disabled="@IsDisabled" onclick="@OpenPopupScript()" class="@getPopupButtonCss()" type="button" aria-label="@OpenAriaLabel">
45+
<RadzenIcon Icon="@DropDownIcon" />
4546
</button>
4647
<div id="@PopupID" class="rz-splitbutton-menu">
4748
<ul class="rz-menu-list">

Radzen.Blazor/RadzenSplitButton.razor.cs

+6
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@ private string getButtonSize()
139139
[Parameter]
140140
public string OpenAriaLabel { get; set; } = "Open";
141141

142+
/// <summary>
143+
/// Gets or sets the icon of the drop down.
144+
/// </summary>
145+
[Parameter]
146+
public string DropDownIcon { get; set; } = "arrow_drop_down";
147+
142148
/// <summary>
143149
/// Gets or sets the click callback.
144150
/// </summary>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
@inject NotificationService NotificationService
2+
<div class="container-fluid splitbutton-demo">
3+
<div class="row mb-4">
4+
<div class="col">
5+
<RadzenText TextStyle="TextStyle.H6" TagName="TagName.H3">DropDown Icon</RadzenText>
6+
<RadzenSplitButton Click=@(args => OnClick(args, "Opened SplitButton")) Text="SplitButton" DropDownIcon="keyboard_double_arrow_down">
7+
<ChildContent>
8+
<RadzenSplitButtonItem Text="Item1" Value="1" />
9+
<RadzenSplitButtonItem Text="Item2" Value="2" />
10+
</ChildContent>
11+
</RadzenSplitButton>
12+
13+
<RadzenSplitButton Click=@(args => OnClick(args, "Opened SplitButton")) Text="SplitButton" DropDownIcon="expand_circle_down">
14+
<ChildContent>
15+
<RadzenSplitButtonItem Text="Item1" Value="1" />
16+
<RadzenSplitButtonItem Text="Item2" Value="2" />
17+
</ChildContent>
18+
</RadzenSplitButton>
19+
20+
<RadzenSplitButton Click=@(args => OnClick(args, "Opened SplitButton")) Text="SplitButton" DropDownIcon="keyboard_arrow_down">
21+
<ChildContent>
22+
<RadzenSplitButtonItem Text="Item1" Value="1" />
23+
<RadzenSplitButtonItem Text="Item2" Value="2" />
24+
</ChildContent>
25+
</RadzenSplitButton>
26+
</div>
27+
</div>
28+
</div>
29+
30+
@code {
31+
void OnClick(RadzenSplitButtonItem item, string buttonName)
32+
{
33+
if (item != null)
34+
{
35+
NotificationService.Notify(new NotificationMessage { Severity = NotificationSeverity.Info, Summary = "SplitButton Item Clicked", Detail = $"{buttonName}, item with value {item.Value} clicked" });
36+
}
37+
else
38+
{
39+
NotificationService.Notify(new NotificationMessage { Severity = NotificationSeverity.Info, Summary = "SplitButton Clicked", Detail = $"{buttonName} clicked" });
40+
}
41+
}
42+
}

RadzenBlazorDemos/Pages/SplitButtonPage.razor

+10
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,16 @@
9595
<SplitButtonAlwaysOpenPopup />
9696
</RadzenExample>
9797

98+
<RadzenText Anchor="splitbutton#customize-dropdown-icon" TextStyle="TextStyle.H5" TagName="TagName.H2" class="rz-pt-12">
99+
DropDown icon of SplitButton
100+
</RadzenText>
101+
<RadzenText TextStyle="TextStyle.Body1" class="rz-mb-8">
102+
Customize the dropdown icon of SplitButton. Use <code>DropDownIcon</code> parameter to set the icon.
103+
</RadzenText>
104+
<RadzenExample ComponentName="SplitButton" Example="CustomizeSplitButtonDropDownIcon">
105+
<SplitButtonDropDownIcon />
106+
</RadzenExample>
107+
98108
<RadzenText Anchor="splitbutton#keyboard-navigation" TextStyle="TextStyle.H5" TagName="TagName.H2" class="rz-pt-12">
99109
Keyboard Navigation
100110
</RadzenText>

0 commit comments

Comments
 (0)