[ENH] - Add Prerender IModuleControl property (similar to RenderMode) #4178
This commit is contained in:
parent
1e8e246ffb
commit
cfb128acb8
|
@ -52,6 +52,8 @@ namespace Oqtane.Modules
|
||||||
|
|
||||||
public virtual string RenderMode { get { return RenderModes.Interactive; } } // interactive by default
|
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
|
// url parameters
|
||||||
public virtual string UrlParametersTemplate { get; set; }
|
public virtual string UrlParametersTemplate { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
}
|
}
|
||||||
else
|
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 {
|
@code {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
{
|
{
|
||||||
@if (ModuleType != null)
|
@if (ModuleType != null)
|
||||||
{
|
{
|
||||||
@((MarkupString)$"<!-- rendermode: {ModuleState.RenderMode} -->")
|
@((MarkupString)$"<!-- rendermode: {ModuleState.RenderMode} - prerender: {ModuleState.Prerender} -->")
|
||||||
<ModuleMessage @ref="moduleMessageTop" Message="@_messageContent" Type="@_messageType" />
|
<ModuleMessage @ref="moduleMessageTop" Message="@_messageContent" Type="@_messageType" />
|
||||||
@DynamicComponent
|
@DynamicComponent
|
||||||
@if (_progressIndicator)
|
@if (_progressIndicator)
|
||||||
|
|
|
@ -476,6 +476,7 @@
|
||||||
// retrieve module component resources
|
// retrieve module component resources
|
||||||
var moduleobject = Activator.CreateInstance(moduletype) as IModuleControl;
|
var moduleobject = Activator.CreateInstance(moduletype) as IModuleControl;
|
||||||
module.RenderMode = moduleobject.RenderMode;
|
module.RenderMode = moduleobject.RenderMode;
|
||||||
|
module.Prerender = moduleobject.Prerender;
|
||||||
|
|
||||||
page.Resources = ManagePageResources(page.Resources, moduleobject.Resources, ResourceLevel.Module, alias, "Modules", moduletype.Namespace);
|
page.Resources = ManagePageResources(page.Resources, moduleobject.Resources, ResourceLevel.Module, alias, "Modules", moduletype.Namespace);
|
||||||
if (action.ToLower() == "settings" && module.ModuleDefinition != null)
|
if (action.ToLower() == "settings" && module.ModuleDefinition != null)
|
||||||
|
|
|
@ -35,5 +35,10 @@ namespace Oqtane.Modules
|
||||||
/// Specifies the required render mode for the module control ie. Static,Interactive
|
/// Specifies the required render mode for the module control ie. Static,Interactive
|
||||||
/// </summary>
|
/// </summary>
|
||||||
string RenderMode { get; }
|
string RenderMode { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Specifies the prerender mode for the moudle control ie: true or false
|
||||||
|
/// </summary>
|
||||||
|
bool Prerender { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,6 +117,8 @@ namespace Oqtane.Models
|
||||||
public bool UseAdminContainer { get; set; }
|
public bool UseAdminContainer { get; set; }
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public string RenderMode{ get; set; }
|
public string RenderMode{ get; set; }
|
||||||
|
[NotMapped]
|
||||||
|
public bool Prerender { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user