From 48c5a6e1ac8d79549f1e694e40338fc72fe34b42 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 3 Jun 2025 17:24:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=20IErrorLogg?= =?UTF-8?q?er=20=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/ErrorLogger/ErrorLogger.cs | 12 +++--------- .../Components/ErrorLogger/IErrorLogger.cs | 8 ++++---- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs index 9edd8c0e4d4..b6b195dd3fe 100644 --- a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs +++ b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs @@ -22,13 +22,13 @@ public class ErrorLogger : ComponentBase, IErrorLogger /// /// [Parameter] - public bool? EnableErrorLogger { get; set; } + public bool EnableErrorLogger { get; set; } = true; /// /// /// [Parameter] - public bool? ShowToast { get; set; } + public bool ShowToast { get; set; } = true; /// /// @@ -62,10 +62,6 @@ public class ErrorLogger : ComponentBase, IErrorLogger [Parameter] public Func? OnInitializedCallback { get; set; } - [Inject] - [NotNull] - private IOptionsMonitor? Options { get; set; } - [NotNull] private BootstrapBlazorErrorBoundary? _errorBoundary = default; @@ -77,8 +73,6 @@ protected override void OnInitialized() base.OnInitialized(); ToastTitle ??= Localizer[nameof(ToastTitle)]; - EnableErrorLogger ??= Options.CurrentValue.EnableErrorLogger; - ShowToast ??= Options.CurrentValue.ShowErrorLoggerToast; } /// @@ -108,7 +102,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.CloseComponent(); } - private RenderFragment? RenderContent => (EnableErrorLogger ?? false) ? RenderError : ChildContent; + private RenderFragment? RenderContent => EnableErrorLogger ? RenderError : ChildContent; private RenderFragment RenderError => builder => { diff --git a/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs index 2d449b05501..7a0f261e1ba 100644 --- a/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs +++ b/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs @@ -11,9 +11,9 @@ namespace BootstrapBlazor.Components; public interface IErrorLogger { /// - /// 获得/设置 是否开启全局异常捕获 默认 null 使用全局配置 值 + /// 获得/设置 是否开启全局异常捕获 默认 true /// - bool? EnableErrorLogger { get; set; } + bool EnableErrorLogger { get; set; } /// /// 获得/设置 自定义 Error 处理方法 默认 null @@ -23,9 +23,9 @@ public interface IErrorLogger Task HandlerExceptionAsync(Exception ex); /// - /// 获得 是否显示 Error 提示弹窗 默认 null 使用全局配置 值 + /// 获得 是否显示 Error 提示弹窗 默认 true /// - bool? ShowToast { get; } + bool ShowToast { get; } /// /// 获得 Error Toast 弹窗标题 默认读取资源文件内容 From d51a2c818a2579924bd568035d9bc773c2d7d4a9 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 3 Jun 2025 17:24:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=20Tab=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Layout/Layout.razor | 6 ++++-- src/BootstrapBlazor/Components/Layout/Layout.razor.cs | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor b/src/BootstrapBlazor/Components/Layout/Layout.razor index 2b1826f1725..c3593ca37ea 100644 --- a/src/BootstrapBlazor/Components/Layout/Layout.razor +++ b/src/BootstrapBlazor/Components/Layout/Layout.razor @@ -126,7 +126,7 @@ } else { - @HandlerMain() @@ -147,7 +147,9 @@ RefreshToolbarButtonIcon="@RefreshToolbarButtonIcon" FullscreenToolbarButtonIcon="@FullscreenToolbarButtonIcon" RefreshToolbarTooltipText="@RefreshToolbarTooltipText" FullscreenToolbarTooltipText="@FullscreenToolbarTooltipText" OnToolbarRefreshCallback="OnToolbarRefreshCallback" TabHeader="TabHeader" - Body="@Main" NotAuthorized="NotAuthorized!" NotFound="NotFound!" NotFoundTabText="@NotFoundTabText"> + Body="@Main" NotAuthorized="NotAuthorized!" NotFound="NotFound!" NotFoundTabText="@NotFoundTabText" + EnableErrorLogger="EnableErrorLogger" ShowErrorLoggerToast="ShowErrorLoggerToast" + ErrorLoggerToastTitle="@ErrorLoggerToastTitle"> ; RenderFragment RenderFooter => diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor.cs b/src/BootstrapBlazor/Components/Layout/Layout.razor.cs index fb28b9cd819..2b89bf792e3 100644 --- a/src/BootstrapBlazor/Components/Layout/Layout.razor.cs +++ b/src/BootstrapBlazor/Components/Layout/Layout.razor.cs @@ -490,11 +490,19 @@ public partial class Layout : IHandlerException, ITabHeader [NotNull] private IStringLocalizer? Localizer { get; set; } + [Inject] + [NotNull] + private IOptionsMonitor? Options { get; set; } + private bool _init; private LayoutHeader? _layoutHeader = null; private ITabHeader? TabHeader => ShowTabInHeader ? this : null; + private bool _enableErrorLogger => EnableErrorLogger ?? Options.CurrentValue.EnableErrorLogger; + + private bool _showToast => ShowErrorLoggerToast ?? Options.CurrentValue.ShowErrorLoggerToast; + /// /// /// From 9a28e560ab37c78207e9b10038a781892d8b0f2a Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 3 Jun 2025 17:24:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20TabItem=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E6=8D=95=E8=8E=B7=E5=BC=82=E5=B8=B8=E8=83=BD?= =?UTF-8?q?=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Tab/Tab.razor.cs | 18 ++++++++++++++++++ .../Components/Tab/TabItemContent.cs | 11 ++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/BootstrapBlazor/Components/Tab/Tab.razor.cs b/src/BootstrapBlazor/Components/Tab/Tab.razor.cs index 03d691bb688..67976808355 100644 --- a/src/BootstrapBlazor/Components/Tab/Tab.razor.cs +++ b/src/BootstrapBlazor/Components/Tab/Tab.razor.cs @@ -431,6 +431,24 @@ public partial class Tab [Parameter] public ITabHeader? TabHeader { get; set; } + /// + /// 获得/设置 是否开启全局异常捕获 默认 null 读取配置文件 EnableErrorLogger 值 + /// + [Parameter] + public bool? EnableErrorLogger { get; set; } + + /// + /// 获得/设置 是否显示 Error 提示弹窗 默认 null 使用 设置值 + /// + [Parameter] + public bool? ShowErrorLoggerToast { get; set; } + + /// + /// 获得/设置 错误日志 弹窗标题 默认 null + /// + [Parameter] + public string? ErrorLoggerToastTitle { get; set; } + [CascadingParameter] private Layout? Layout { get; set; } diff --git a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs index a9f1a9e9d47..a9e7662be0b 100644 --- a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs +++ b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs @@ -7,7 +7,7 @@ namespace BootstrapBlazor.Components; -internal class TabItemContent : IComponent +class TabItemContent : IComponent { /// /// Gets or sets the component content. Default is null @@ -15,8 +15,8 @@ internal class TabItemContent : IComponent [Parameter, NotNull] public TabItem? Item { get; set; } - [CascadingParameter] - private Layout? Layout { get; set; } + [CascadingParameter, NotNull] + private Tab? TabSet { get; set; } private RenderHandle _renderHandle; @@ -55,10 +55,11 @@ private RenderFragment RenderItemContent(RenderFragment? content) => builder => builder.OpenComponent(0); builder.AddAttribute(1, nameof(ErrorLogger.ChildContent), content); - var enableErrorLogger = Layout?.EnableErrorLogger; - var showToast = Layout?.ShowErrorLoggerToast; + var enableErrorLogger = TabSet.EnableErrorLogger; + var showToast = TabSet.ShowErrorLoggerToast; builder.AddAttribute(2, nameof(ErrorLogger.EnableErrorLogger), enableErrorLogger); builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), showToast); + builder.AddAttribute(4, nameof(ErrorLogger.ToastTitle), TabSet.ErrorLoggerToastTitle); builder.CloseComponent(); };