Merge pull request #3755 from sbwalker/dev
create component using RenderTreeBuilder
This commit is contained in:
commit
901b23e5ae
|
@ -11,13 +11,13 @@ namespace Oqtane.UI
|
||||||
switch (runtime)
|
switch (runtime)
|
||||||
{
|
{
|
||||||
case Runtimes.Server:
|
case Runtimes.Server:
|
||||||
return new InteractiveServerRenderMode(prerender);
|
return new InteractiveServerRenderMode(prerender: prerender);
|
||||||
case Runtimes.WebAssembly:
|
case Runtimes.WebAssembly:
|
||||||
return new InteractiveWebAssemblyRenderMode(prerender);
|
return new InteractiveWebAssemblyRenderMode(prerender: prerender);
|
||||||
case Runtimes.Auto:
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
{
|
{
|
||||||
<ModuleMessage Message="@_messageContent" Type="@_messageType" />
|
<ModuleMessage Message="@_messageContent" Type="@_messageType" />
|
||||||
}
|
}
|
||||||
<DynamicComponent Type="@ModuleType" Parameters="@ModuleParameters"></DynamicComponent>
|
@DynamicComponent
|
||||||
@if (_progressIndicator)
|
@if (_progressIndicator)
|
||||||
{
|
{
|
||||||
<div class="app-progress-indicator"></div>
|
<div class="app-progress-indicator"></div>
|
||||||
|
@ -37,7 +37,7 @@ else
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private Type ModuleType { get; set; }
|
private Type ModuleType { get; set; }
|
||||||
private IDictionary<string, object> ModuleParameters { get; set; }
|
RenderFragment DynamicComponent { get; set; }
|
||||||
|
|
||||||
private string _messageContent;
|
private string _messageContent;
|
||||||
private MessageType _messageType;
|
private MessageType _messageType;
|
||||||
|
@ -77,7 +77,12 @@ else
|
||||||
ComponentSiteState.RemoteIPAddress = SiteState.RemoteIPAddress;
|
ComponentSiteState.RemoteIPAddress = SiteState.RemoteIPAddress;
|
||||||
ComponentSiteState.IsPrerendering = SiteState.IsPrerendering;
|
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
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user