From fb46ef19e2dac470b50abd5a4f670d33fc8c8a22 Mon Sep 17 00:00:00 2001 From: zootius Date: Mon, 18 Mar 2024 16:31:15 +0000 Subject: [PATCH 1/2] Fix bug with BlazoredModalInstance Title --- src/Blazored.Modal/BlazoredModalInstance.razor.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Blazored.Modal/BlazoredModalInstance.razor.cs b/src/Blazored.Modal/BlazoredModalInstance.razor.cs index bca1b08..ee8b971 100644 --- a/src/Blazored.Modal/BlazoredModalInstance.razor.cs +++ b/src/Blazored.Modal/BlazoredModalInstance.razor.cs @@ -11,7 +11,7 @@ public partial class BlazoredModalInstance : IDisposable [Parameter, EditorRequired] public RenderFragment Content { get; set; } = default!; [Parameter, EditorRequired] public ModalOptions Options { get; set; } = default!; - [Parameter] public string? Title { get; set; } + [Parameter] public string? Title { get => _title; set => _title ??= value; } [Parameter] public Guid Id { get; set; } private string? Position { get; set; } @@ -32,6 +32,7 @@ public partial class BlazoredModalInstance : IDisposable private bool _setFocus; private bool _disableNextRender; private bool _listenToBackgroundClicks; + private string? _title { get; set; } // Temporarily add a tabindex of -1 to the close button so it doesn't get selected as the first element by activateFocusTrap private readonly Dictionary _closeBtnAttributes = new() { { "tabindex", "-1" } }; @@ -78,7 +79,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender) /// Text to display as the title of the modal public void SetTitle(string title) { - Title = title; + _title = title; StateHasChanged(); } @@ -362,4 +363,4 @@ private void StopListeningToBackgroundClick() void IDisposable.Dispose() => Parent.OnModalClosed -= AttemptFocus; -} \ No newline at end of file +} From f07c80c98890707b036b67aca1ef1d6f447c6102 Mon Sep 17 00:00:00 2001 From: zootius Date: Mon, 18 Mar 2024 17:15:52 +0000 Subject: [PATCH 2/2] Use init instead of set to encourage people to use SetTitle method --- src/Blazored.Modal/BlazoredModalInstance.razor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blazored.Modal/BlazoredModalInstance.razor.cs b/src/Blazored.Modal/BlazoredModalInstance.razor.cs index ee8b971..6033ca5 100644 --- a/src/Blazored.Modal/BlazoredModalInstance.razor.cs +++ b/src/Blazored.Modal/BlazoredModalInstance.razor.cs @@ -11,7 +11,7 @@ public partial class BlazoredModalInstance : IDisposable [Parameter, EditorRequired] public RenderFragment Content { get; set; } = default!; [Parameter, EditorRequired] public ModalOptions Options { get; set; } = default!; - [Parameter] public string? Title { get => _title; set => _title ??= value; } + [Parameter] public string? Title { get => _title; init => _title ??= value; } [Parameter] public Guid Id { get; set; } private string? Position { get; set; }