From a4437ef305b91c1d08820cb76d6aae787047df4f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 19 Mar 2025 15:57:37 +0800 Subject: [PATCH 1/4] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=20CloseButto?= =?UTF-8?q?nIcon=20=E5=9B=BE=E6=A0=87=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Select/MultiSelect.razor | 4 ++-- .../Components/Select/MultiSelect.razor.cs | 16 +++++++--------- src/BootstrapBlazor/Enums/ComponentIcons.cs | 8 ++++---- src/BootstrapBlazor/Icons/BootstrapIcons.cs | 4 ++-- src/BootstrapBlazor/Icons/FontAwesomeIcons.cs | 4 ++-- src/BootstrapBlazor/Icons/MaterialDesignIcons.cs | 4 ++-- 6 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/BootstrapBlazor/Components/Select/MultiSelect.razor b/src/BootstrapBlazor/Components/Select/MultiSelect.razor index 4777bdd8a2f..7b3edeb05e6 100644 --- a/src/BootstrapBlazor/Components/Select/MultiSelect.razor +++ b/src/BootstrapBlazor/Components/Select/MultiSelect.razor @@ -28,7 +28,7 @@
- + @item.Text
@@ -51,7 +51,7 @@ @if (GetClearable()) { - + }
@if (ShowSearch) diff --git a/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs b/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs index f90631de90e..4e246e2630f 100644 --- a/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs +++ b/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs @@ -56,6 +56,12 @@ public partial class MultiSelect [Parameter] public bool ShowCloseButton { get; set; } = true; + /// + /// 获得/设置 关闭按钮图标 默认为 null + /// + [Parameter] + public string? CloseButtonIcon { get; set; } + /// /// 获得/设置 是否显示功能按钮 默认为 false 不显示 /// @@ -152,14 +158,6 @@ public partial class MultiSelect [Parameter] [NotNull] public string? MinErrorMessage { get; set; } - - /// - /// Gets or sets the right-side clear icon. Default is null. - /// - [Parameter] - [NotNull] - public string? ClearableIcon { get; set; } - [Inject] [NotNull] private IStringLocalizer>? Localizer { get; set; } @@ -184,8 +182,8 @@ protected override void OnParametersSet() NoSearchDataText ??= Localizer[nameof(NoSearchDataText)]; DropdownIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectDropdownIcon); + CloseButtonIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectCloseIcon); ClearIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectClearIcon); - ClearableIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectClearableIcon); ResetItems(); ResetRules(); diff --git a/src/BootstrapBlazor/Enums/ComponentIcons.cs b/src/BootstrapBlazor/Enums/ComponentIcons.cs index 4063844f389..9ccde6692d8 100644 --- a/src/BootstrapBlazor/Enums/ComponentIcons.cs +++ b/src/BootstrapBlazor/Enums/ComponentIcons.cs @@ -451,14 +451,14 @@ public enum ComponentIcons MultiSelectDropdownIcon, /// - /// MultiSelect 组件 ClearIcon 图标 + /// MultiSelect 组件 CloseButtonIcon 图标 /// - MultiSelectClearIcon, + MultiSelectCloseIcon, /// - /// MultiSelect 组件 ClearableIcon 图标 + /// MultiSelect 组件 ClearIcon 图标 /// - MultiSelectClearableIcon, + MultiSelectClearIcon, /// /// SelectTree 组件 DropdownIcon 图标 diff --git a/src/BootstrapBlazor/Icons/BootstrapIcons.cs b/src/BootstrapBlazor/Icons/BootstrapIcons.cs index 95491bbd27a..8a4817671ee 100644 --- a/src/BootstrapBlazor/Icons/BootstrapIcons.cs +++ b/src/BootstrapBlazor/Icons/BootstrapIcons.cs @@ -109,8 +109,8 @@ internal static class BootstrapIcons { ComponentIcons.RibbonTabArrowPinIcon, "bi bi-pin bi-pin-angle" }, { ComponentIcons.MultiSelectDropdownIcon, "bi bi-chevron-up" }, - { ComponentIcons.MultiSelectClearIcon, "bi bi-x" }, - { ComponentIcons.MultiSelectClearableIcon, "bi bi-x-circle" }, + { ComponentIcons.MultiSelectCloseIcon, "bi bi-x" }, + { ComponentIcons.MultiSelectClearIcon, "bi bi-x-circle" }, { ComponentIcons.SelectTreeDropdownIcon, "bi bi-chevron-up" }, diff --git a/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs b/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs index 89958267838..3fb9db7a467 100644 --- a/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs +++ b/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs @@ -107,8 +107,8 @@ internal static class FontAwesomeIcons { ComponentIcons.RibbonTabArrowPinIcon, "fa-solid fa-thumbtack fa-rotate-90" }, { ComponentIcons.MultiSelectDropdownIcon, "fa-solid fa-angle-up" }, - { ComponentIcons.MultiSelectClearIcon, "fa-solid fa-xmark" }, - { ComponentIcons.MultiSelectClearableIcon, "fa-regular fa-circle-xmark" }, + { ComponentIcons.MultiSelectCloseIcon, "fa-solid fa-xmark" }, + { ComponentIcons.MultiSelectClearIcon, "fa-regular fa-circle-xmark" }, { ComponentIcons.SelectTreeDropdownIcon, "fa-solid fa-angle-up" }, diff --git a/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs b/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs index e731f3d1bfd..da3390fc617 100644 --- a/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs +++ b/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs @@ -109,8 +109,8 @@ internal static class MaterialDesignIcons { ComponentIcons.RibbonTabArrowPinIcon, "mdi mdi-pin mdi-pin-off" }, { ComponentIcons.MultiSelectDropdownIcon, "mdi mdi-chevron-up" }, - { ComponentIcons.MultiSelectClearIcon, "mdi mdi-close" }, - { ComponentIcons.MultiSelectClearableIcon, "mdi mdi-trash-can-outline" }, + { ComponentIcons.MultiSelectCloseIcon, "mdi mdi-close" }, + { ComponentIcons.MultiSelectClearIcon, "mdi mdi-trash-can-outline" }, { ComponentIcons.SelectTreeDropdownIcon, "mdi mdi-chevron-up" }, From a1b1305616ba27654a28c702d14f596e6de71f2e Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 19 Mar 2025 16:00:26 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E5=9B=BE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Icons/MaterialDesignIcons.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs b/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs index da3390fc617..d724caf5efb 100644 --- a/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs +++ b/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs @@ -110,7 +110,7 @@ internal static class MaterialDesignIcons { ComponentIcons.MultiSelectDropdownIcon, "mdi mdi-chevron-up" }, { ComponentIcons.MultiSelectCloseIcon, "mdi mdi-close" }, - { ComponentIcons.MultiSelectClearIcon, "mdi mdi-trash-can-outline" }, + { ComponentIcons.MultiSelectClearIcon, "mdi mdi-close-circle-outline" }, { ComponentIcons.SelectTreeDropdownIcon, "mdi mdi-chevron-up" }, From cc4d1d331616b7c2dc24af08f032eb2c420e8d81 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 19 Mar 2025 16:03:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?test:=20=E6=9B=B4=E6=96=B0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/MultiSelectTest.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/UnitTest/Components/MultiSelectTest.cs b/test/UnitTest/Components/MultiSelectTest.cs index 6aea3777fae..67dd655fbfa 100644 --- a/test/UnitTest/Components/MultiSelectTest.cs +++ b/test/UnitTest/Components/MultiSelectTest.cs @@ -168,7 +168,8 @@ public async Task FlagEnum_Ok() Assert.Equal(2, values.Count); // 选中第四个 - var item = cut.FindAll(".dropdown-menu .dropdown-item").Last(); + var items = cut.FindAll(".dropdown-menu .dropdown-item"); + var item = items[items.Count - 1]; await cut.InvokeAsync(() => item.Click()); values = cut.FindAll(".multi-select-items .multi-select-item"); Assert.Equal(3, values.Count); @@ -644,7 +645,7 @@ public void ClearIcon_Ok() cut.SetParametersAndRender(pb => { - pb.Add(a => a.ClearableIcon, "icon-clear-test"); + pb.Add(a => a.ClearIcon, "icon-clear-test"); }); Assert.DoesNotContain("fa-regular fa-circle-xmark", cut.Markup); Assert.Contains("icon-clear-test", cut.Markup); From b0db74ed8a4449d3f9a2f265faeed551291f24bb Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 19 Mar 2025 16:08:48 +0800 Subject: [PATCH 4/4] chore: bump version 9.5.0-beta05 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index f9048262518..0ea624384ea 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 9.5.0-beta04 + 9.5.0-beta05