Merge pull request #4179 from LearnOqtane/dev

[ENH] - Add Prerender IModuleControl property (similar to RenderMode)…
This commit is contained in:
Shaun Walker 2024-04-24 09:32:11 -04:00 committed by GitHub
commit 4cf2b74a01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 15 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 null; } } // prerender at server by default
// url parameters
public virtual string UrlParametersTemplate { get; set; }

View File

@ -7,7 +7,10 @@
}
else
{
<RenderModeBoundary ModuleState="@ModuleState" PageState="@PageState" SiteState="@SiteState" @rendermode="@InteractiveRenderMode.GetInteractiveRenderMode(PageState.Site.Runtime, PageState.Site.Prerender)" />
var rendermode = InteractiveRenderMode.GetInteractiveRenderMode(PageState.Site.Runtime, ModuleState.Prerender ?? PageState.Site.Prerender);
<RenderModeBoundary ModuleState="@ModuleState" PageState="@PageState" SiteState="@SiteState" @rendermode="rendermode" />
}
@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