From 706ad68a7649c1d498372b9971fc75bac2552942 Mon Sep 17 00:00:00 2001 From: John J Bomhold Date: Mon, 29 May 2023 13:17:21 -0500 Subject: [PATCH] Fixes #592 --- .../Components/OffCanvas/BSOffCanvasBase.cs | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/BlazorStrap/Shared/Components/OffCanvas/BSOffCanvasBase.cs b/src/BlazorStrap/Shared/Components/OffCanvas/BSOffCanvasBase.cs index 3c4e6b9d..52233b5b 100644 --- a/src/BlazorStrap/Shared/Components/OffCanvas/BSOffCanvasBase.cs +++ b/src/BlazorStrap/Shared/Components/OffCanvas/BSOffCanvasBase.cs @@ -92,6 +92,7 @@ public override bool Shown #endregion protected bool ShouldRenderContent { get; set; } = true; + private string _style = string.Empty; protected override void OnInitialized() { @@ -108,7 +109,7 @@ public override async Task HideAsync() var func = async () => { CanRefresh = false; - + _shown = false; // Used to hide popovers BlazorStrapService.ForwardToggle("", this); //await BlazorStrapService.Interop.HideModalAsync(_objectRef, DataId, MyRef, !_leaveBodyAlone); @@ -116,15 +117,15 @@ public override async Task HideAsync() //await BlazorStrapService.Interop.RemoveDocumentEventAsync(this, DataId, EventType.Keyup); //await BlazorStrapService.Interop.RemoveDocumentEventAsync(this, DataId, EventType.Click); - //if (ShowBackdrop) - //{ - // if (!AllowScroll) - // { - // var scrollWidth = await BlazorStrapService.Interop.GetScrollBarWidth(); - // await BlazorStrapService.Interop.SetBodyStyleAsync("overflow", ""); - // await BlazorStrapService.Interop.SetBodyStyleAsync("paddingRight", ""); - // } - //} + if (ShowBackdrop) + { + if (!AllowScroll) + { + var scrollWidth = await BlazorStrapService.Interop.GetScrollBarWidth(); + await BlazorStrapService.Interop.SetBodyStyleAsync("overflow", ""); + await BlazorStrapService.Interop.SetBodyStyleAsync("paddingRight", ""); + } + } //// Used to hide popovers //BlazorStrapService.ForwardToggle("", this); @@ -142,7 +143,7 @@ public override async Task HideAsync() if (BackdropRef != null) await BackdropRef.HideAsync(); - _shown = false; + _leaveBodyAlone = false; ShouldRenderContent = ContentAlwaysRendered; await InvokeAsync(StateHasChanged); @@ -177,8 +178,10 @@ public override async Task ShowAsync() ShouldRenderContent = true; await InvokeAsync(StateHasChanged); } + _shown = true; CanRefresh = false; await BlazorStrapService.Interop.ShowOffcanvasAsync(_objectRef, DataId, MyRef, !AllowScroll, ShowBackdrop); + await BlazorStrapService.Interop.AddClassAsync(MyRef, "show"); //await BlazorStrapService.Interop.AddDocumentEventAsync(_objectRef, DataId, EventType.Keyup); //await BlazorStrapService.Interop.AddDocumentEventAsync(_objectRef, DataId, EventType.Click); @@ -204,7 +207,7 @@ public override async Task ShowAsync() //catch //Animation failed cleaning up //{ //} - _shown = true; + await InvokeAsync(StateHasChanged); _ = Task.Run(() => { _ = OnShown.InvokeAsync(this); }); taskSource.SetResult(true);