From fa17e7019a26be556286dba6eea0fa302e60b103 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Wed, 21 Feb 2024 08:04:24 -0500 Subject: [PATCH] add variability for StreamRendering based on render mode --- Oqtane.Client/UI/ModuleInstance.razor | 7 +++---- Oqtane.Client/UI/RenderModeBoundary.razor | 3 +++ .../UI/StreamRenderingDisabled.razor | 21 +++++++++++++++++++ Oqtane.Client/UI/StreamRenderingEnabled.razor | 21 +++++++++++++++++++ 4 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 Oqtane.Client/UI/StreamRenderingDisabled.razor create mode 100644 Oqtane.Client/UI/StreamRenderingEnabled.razor diff --git a/Oqtane.Client/UI/ModuleInstance.razor b/Oqtane.Client/UI/ModuleInstance.razor index 4fd08426..e2dbbbb5 100644 --- a/Oqtane.Client/UI/ModuleInstance.razor +++ b/Oqtane.Client/UI/ModuleInstance.razor @@ -1,19 +1,18 @@ @namespace Oqtane.UI @inject SiteState SiteState -@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Static) +@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Interactive) { - + } else { - + } @code { // this component is on the static side of the render mode boundary // it passes state as serializable parameters across the boundary - // this enables the state to be used by downstream interactive components [CascadingParameter] protected PageState PageState { get; set; } diff --git a/Oqtane.Client/UI/RenderModeBoundary.razor b/Oqtane.Client/UI/RenderModeBoundary.razor index 4e83b473..56833e47 100644 --- a/Oqtane.Client/UI/RenderModeBoundary.razor +++ b/Oqtane.Client/UI/RenderModeBoundary.razor @@ -36,6 +36,9 @@ @code { + // this component is on the interactive side of the render mode boundary + // it receives state as serializable parameters so that the state can be made available to downstream components + private Type ModuleType { get; set; } RenderFragment DynamicComponent { get; set; } diff --git a/Oqtane.Client/UI/StreamRenderingDisabled.razor b/Oqtane.Client/UI/StreamRenderingDisabled.razor new file mode 100644 index 00000000..9b161585 --- /dev/null +++ b/Oqtane.Client/UI/StreamRenderingDisabled.razor @@ -0,0 +1,21 @@ +@attribute [StreamRendering(false)] + +@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Static) +{ + +} +else +{ + +} + +@code { + [Parameter] + public SiteState SiteState { get; set; } + + [Parameter] + public PageState PageState { get; set; } + + [Parameter] + public Module ModuleState { get; set; } +} diff --git a/Oqtane.Client/UI/StreamRenderingEnabled.razor b/Oqtane.Client/UI/StreamRenderingEnabled.razor new file mode 100644 index 00000000..a48bb967 --- /dev/null +++ b/Oqtane.Client/UI/StreamRenderingEnabled.razor @@ -0,0 +1,21 @@ +@attribute [StreamRendering(true)] + +@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Static) +{ + +} +else +{ + +} + +@code { + [Parameter] + public SiteState SiteState { get; set; } + + [Parameter] + public PageState PageState { get; set; } + + [Parameter] + public Module ModuleState { get; set; } +}