[ENH] - Add Prerender IModuleControl property (similar to RenderMode) #4178

This commit is contained in:
vnetonline 2024-04-23 15:22:02 +10:00
parent 1e8e246ffb
commit cfb128acb8
6 changed files with 12 additions and 2 deletions

View File

@ -52,6 +52,8 @@ namespace Oqtane.Modules
public virtual string RenderMode { get { return RenderModes.Interactive; } } // interactive by default
public virtual bool Prerender { get { return true; } } // prerender at server by default
// url parameters
public virtual string UrlParametersTemplate { get; set; }

View File

@ -7,7 +7,7 @@
}
else
{
<RenderModeBoundary ModuleState="@ModuleState" PageState="@PageState" SiteState="@SiteState" @rendermode="@InteractiveRenderMode.GetInteractiveRenderMode(PageState.Site.Runtime, PageState.Site.Prerender)" />
<RenderModeBoundary ModuleState="@ModuleState" PageState="@PageState" SiteState="@SiteState" @rendermode="@InteractiveRenderMode.GetInteractiveRenderMode(PageState.Site.Runtime, ModuleState.Prerender != false ? PageState.Site.Prerender : ModuleState.Prerender )" />
}
@code {

View File

@ -10,7 +10,7 @@
{
@if (ModuleType != null)
{
@((MarkupString)$"<!-- rendermode: {ModuleState.RenderMode} -->")
@((MarkupString)$"<!-- rendermode: {ModuleState.RenderMode} - prerender: {ModuleState.Prerender} -->")
<ModuleMessage @ref="moduleMessageTop" Message="@_messageContent" Type="@_messageType" />
@DynamicComponent
@if (_progressIndicator)

View File

@ -476,6 +476,7 @@
// retrieve module component resources
var moduleobject = Activator.CreateInstance(moduletype) as IModuleControl;
module.RenderMode = moduleobject.RenderMode;
module.Prerender = moduleobject.Prerender;
page.Resources = ManagePageResources(page.Resources, moduleobject.Resources, ResourceLevel.Module, alias, "Modules", moduletype.Namespace);
if (action.ToLower() == "settings" && module.ModuleDefinition != null)

View File

@ -35,5 +35,10 @@ namespace Oqtane.Modules
/// Specifies the required render mode for the module control ie. Static,Interactive
/// </summary>
string RenderMode { get; }
/// <summary>
/// Specifies the prerender mode for the moudle control ie: true or false
/// </summary>
bool Prerender { get; }
}
}

View File

@ -117,6 +117,8 @@ namespace Oqtane.Models
public bool UseAdminContainer { get; set; }
[NotMapped]
public string RenderMode{ get; set; }
[NotMapped]
public bool Prerender { get; set; }
#endregion