From df4d4d36bc3faeb147985aa44102c7ae925bc9ce Mon Sep 17 00:00:00 2001 From: sbwalker Date: Fri, 9 Feb 2024 15:46:44 -0500 Subject: [PATCH] create component using RenderTreeBuilder --- Oqtane.Client/UI/InteractiveRenderMode.cs | 8 ++++---- Oqtane.Client/UI/RenderModeBoundary.razor | 11 ++++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Oqtane.Client/UI/InteractiveRenderMode.cs b/Oqtane.Client/UI/InteractiveRenderMode.cs index a840fe68..1094aafb 100644 --- a/Oqtane.Client/UI/InteractiveRenderMode.cs +++ b/Oqtane.Client/UI/InteractiveRenderMode.cs @@ -11,13 +11,13 @@ namespace Oqtane.UI switch (runtime) { case Runtimes.Server: - return new InteractiveServerRenderMode(prerender); + return new InteractiveServerRenderMode(prerender: prerender); case Runtimes.WebAssembly: - return new InteractiveWebAssemblyRenderMode(prerender); + return new InteractiveWebAssemblyRenderMode(prerender: prerender); case Runtimes.Auto: - return new InteractiveAutoRenderMode(prerender); + return new InteractiveAutoRenderMode(prerender: prerender); } - return new InteractiveServerRenderMode(prerender); // default to interactiver server + return new InteractiveServerRenderMode(prerender: prerender); // default to interactiver server } } } diff --git a/Oqtane.Client/UI/RenderModeBoundary.razor b/Oqtane.Client/UI/RenderModeBoundary.razor index 73127f54..b82f9da8 100644 --- a/Oqtane.Client/UI/RenderModeBoundary.razor +++ b/Oqtane.Client/UI/RenderModeBoundary.razor @@ -14,7 +14,7 @@ { } - + @DynamicComponent @if (_progressIndicator) {
@@ -37,7 +37,7 @@ else @code { private Type ModuleType { get; set; } - private IDictionary ModuleParameters { get; set; } + RenderFragment DynamicComponent { get; set; } private string _messageContent; private MessageType _messageType; @@ -77,7 +77,12 @@ else ComponentSiteState.RemoteIPAddress = SiteState.RemoteIPAddress; ComponentSiteState.IsPrerendering = SiteState.IsPrerendering; - ModuleParameters = new Dictionary { { "RenderModeBoundary", this } }; + DynamicComponent = builder => + { + builder.OpenComponent(0, ModuleType); + builder.AddAttribute(1, "RenderModeBoundary", this); + builder.CloseComponent(); + }; } else {