From e8376d75d0bbab94473361227bf03193ae3e7e15 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 16 May 2025 08:48:26 +0800 Subject: [PATCH 1/2] refactor(FilterProvider): refactoring to improve code readability --- .../Components/Filters/FilterProvider.razor | 11 +++++++++-- .../Components/Filters/FilterProvider.razor.cs | 18 ++++-------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/BootstrapBlazor/Components/Filters/FilterProvider.razor b/src/BootstrapBlazor/Components/Filters/FilterProvider.razor index 34d962cf662..ccf76d0c5bf 100644 --- a/src/BootstrapBlazor/Components/Filters/FilterProvider.razor +++ b/src/BootstrapBlazor/Components/Filters/FilterProvider.razor @@ -3,14 +3,14 @@ @if (IsHeaderRow) { - @RenderFilter() + @RenderFilter } else {
@Title
- @RenderFilter() + @RenderFilter
} + +@code { + RenderFragment RenderFilter => + @ + @ChildContent + ; +} diff --git a/src/BootstrapBlazor/Components/Filters/FilterProvider.razor.cs b/src/BootstrapBlazor/Components/Filters/FilterProvider.razor.cs index 4a4deac853a..635a720cc45 100644 --- a/src/BootstrapBlazor/Components/Filters/FilterProvider.razor.cs +++ b/src/BootstrapBlazor/Components/Filters/FilterProvider.razor.cs @@ -153,20 +153,10 @@ private void OnClickMinus() } } - /// - /// 渲染自定义过滤器方法 - /// - /// - protected virtual RenderFragment RenderFilter() => builder => + private FilterContext FilterContext => new() { - builder.OpenComponent>(0); - builder.AddAttribute(1, nameof(CascadingValue.Value), new FilterContext() - { - Count = Count, - FieldKey = FieldKey, - IsHeaderRow = IsHeaderRow - }); - builder.AddAttribute(2, nameof(CascadingValue.ChildContent), ChildContent); - builder.CloseComponent(); + Count = Count, + FieldKey = FieldKey, + IsHeaderRow = IsHeaderRow }; } From a7371bf32edf9d199ce43a0344844a6ec09822f0 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 16 May 2025 09:00:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=20MultipleFi?= =?UTF-8?q?lterBase=20=E5=9F=BA=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Filters/DateTimeFilter.razor | 2 +- .../Filters/DateTimeFilter.razor.cs | 2 +- .../Components/Filters/EnumFilter.razor | 2 +- .../Components/Filters/EnumFilter.razor.cs | 2 +- .../Components/Filters/FilterBase.cs | 12 +++++++++ .../Components/Filters/MultipleFilterBase.cs | 26 +++---------------- .../Components/Filters/NumberFilter.razor | 2 +- .../Components/Filters/NumberFilter.razor.cs | 2 +- .../Components/Filters/StringFilter.razor | 2 +- .../Components/Filters/StringFilter.razor.cs | 2 +- 10 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor b/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor index d436ed9db2a..91dc08e51a1 100644 --- a/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor +++ b/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor @@ -1,5 +1,5 @@ @namespace BootstrapBlazor.Components -@inherits MultipleFilterBase +@inherits FilterBase @if (IsHeaderRow) { diff --git a/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor.cs b/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor.cs index 104933e26a7..ef1da901542 100644 --- a/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor.cs +++ b/src/BootstrapBlazor/Components/Filters/DateTimeFilter.razor.cs @@ -6,7 +6,7 @@ namespace BootstrapBlazor.Components; /// -/// +/// DataTime filter component /// public partial class DateTimeFilter { diff --git a/src/BootstrapBlazor/Components/Filters/EnumFilter.razor b/src/BootstrapBlazor/Components/Filters/EnumFilter.razor index 1e7a88e8f62..bf8254878b0 100644 --- a/src/BootstrapBlazor/Components/Filters/EnumFilter.razor +++ b/src/BootstrapBlazor/Components/Filters/EnumFilter.razor @@ -1,5 +1,5 @@ @namespace BootstrapBlazor.Components -@inherits MultipleFilterBase +@inherits FilterBase @if (IsHeaderRow) { diff --git a/src/BootstrapBlazor/Components/Filters/EnumFilter.razor.cs b/src/BootstrapBlazor/Components/Filters/EnumFilter.razor.cs index c2ce00f5954..4dfc9959915 100644 --- a/src/BootstrapBlazor/Components/Filters/EnumFilter.razor.cs +++ b/src/BootstrapBlazor/Components/Filters/EnumFilter.razor.cs @@ -6,7 +6,7 @@ namespace BootstrapBlazor.Components; /// -/// 枚举类型过滤组件 +/// Enum filter component /// public partial class EnumFilter { diff --git a/src/BootstrapBlazor/Components/Filters/FilterBase.cs b/src/BootstrapBlazor/Components/Filters/FilterBase.cs index 948ea03e499..4b8ad3bf8e1 100644 --- a/src/BootstrapBlazor/Components/Filters/FilterBase.cs +++ b/src/BootstrapBlazor/Components/Filters/FilterBase.cs @@ -32,6 +32,17 @@ public abstract class FilterBase : BootstrapModuleComponentBase, IFilterAction [Parameter] public bool IsHeaderRow { get; set; } + /// + /// 获得/设置 条件数量 + /// + [Parameter] + public int Count { get; set; } + + /// + /// 获得/设置 多个条件逻辑关系符号 + /// + protected FilterLogic Logic { get; set; } + /// /// 获得/设置 所属 TableFilter 实例 /// @@ -68,6 +79,7 @@ protected override void OnParametersSet() { FieldKey = FilterContext.FieldKey; IsHeaderRow = FilterContext.IsHeaderRow; + Count = FilterContext.Count; } } diff --git a/src/BootstrapBlazor/Components/Filters/MultipleFilterBase.cs b/src/BootstrapBlazor/Components/Filters/MultipleFilterBase.cs index 111d7d7a2c4..0716fe0dc2a 100644 --- a/src/BootstrapBlazor/Components/Filters/MultipleFilterBase.cs +++ b/src/BootstrapBlazor/Components/Filters/MultipleFilterBase.cs @@ -6,31 +6,11 @@ namespace BootstrapBlazor.Components; /// -/// 多条件过滤器基类 +/// Multiple filter base class /// +[Obsolete("Deprecated. Please use FilterBase class. 已弃用 请使用 FilterBase 类")] +[ExcludeFromCodeCoverage] public abstract class MultipleFilterBase : FilterBase { - /// - /// 获得/设置 条件数量 - /// - [Parameter] - public int Count { get; set; } - /// - /// 获得/设置 多个条件逻辑关系符号 - /// - protected FilterLogic Logic { get; set; } - - /// - /// - /// - protected override void OnParametersSet() - { - base.OnParametersSet(); - - if (FilterContext != null) - { - Count = FilterContext.Count; - } - } } diff --git a/src/BootstrapBlazor/Components/Filters/NumberFilter.razor b/src/BootstrapBlazor/Components/Filters/NumberFilter.razor index 4ca28e1a2a4..6267c0addc8 100644 --- a/src/BootstrapBlazor/Components/Filters/NumberFilter.razor +++ b/src/BootstrapBlazor/Components/Filters/NumberFilter.razor @@ -1,6 +1,6 @@ @namespace BootstrapBlazor.Components @typeparam TType -@inherits MultipleFilterBase +@inherits FilterBase @if (IsHeaderRow) { diff --git a/src/BootstrapBlazor/Components/Filters/NumberFilter.razor.cs b/src/BootstrapBlazor/Components/Filters/NumberFilter.razor.cs index f664d801d49..9b6aa44b51d 100644 --- a/src/BootstrapBlazor/Components/Filters/NumberFilter.razor.cs +++ b/src/BootstrapBlazor/Components/Filters/NumberFilter.razor.cs @@ -6,7 +6,7 @@ namespace BootstrapBlazor.Components; /// -/// NumberFilter 组件 +/// NumberFilter component /// public partial class NumberFilter { diff --git a/src/BootstrapBlazor/Components/Filters/StringFilter.razor b/src/BootstrapBlazor/Components/Filters/StringFilter.razor index 9252ea1bb8b..e1f881d5add 100644 --- a/src/BootstrapBlazor/Components/Filters/StringFilter.razor +++ b/src/BootstrapBlazor/Components/Filters/StringFilter.razor @@ -1,5 +1,5 @@ @namespace BootstrapBlazor.Components -@inherits MultipleFilterBase +@inherits FilterBase @if (IsHeaderRow) { diff --git a/src/BootstrapBlazor/Components/Filters/StringFilter.razor.cs b/src/BootstrapBlazor/Components/Filters/StringFilter.razor.cs index 6d39ccfff5f..370bc39bc47 100644 --- a/src/BootstrapBlazor/Components/Filters/StringFilter.razor.cs +++ b/src/BootstrapBlazor/Components/Filters/StringFilter.razor.cs @@ -6,7 +6,7 @@ namespace BootstrapBlazor.Components; /// -/// StringFilter 组件 +/// StringFilter component /// public partial class StringFilter {