Merge pull request #3755 from sbwalker/dev

create component using RenderTreeBuilder
This commit is contained in:
Shaun Walker 2024-02-09 15:46:59 -05:00 committed by GitHub
commit 901b23e5ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 7 deletions

View File

@ -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
}
}
}

View File

@ -14,7 +14,7 @@
{
<ModuleMessage Message="@_messageContent" Type="@_messageType" />
}
<DynamicComponent Type="@ModuleType" Parameters="@ModuleParameters"></DynamicComponent>
@DynamicComponent
@if (_progressIndicator)
{
<div class="app-progress-indicator"></div>
@ -37,7 +37,7 @@ else
@code {
private Type ModuleType { get; set; }
private IDictionary<string, object> 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<string, object> { { "RenderModeBoundary", this } };
DynamicComponent = builder =>
{
builder.OpenComponent(0, ModuleType);
builder.AddAttribute(1, "RenderModeBoundary", this);
builder.CloseComponent();
};
}
else
{