Merge pull request #3848 from sbwalker/dev

Pass RenderMode and Runtime to Head component
This commit is contained in:
Shaun Walker
2024-02-19 18:30:12 -05:00
committed by GitHub
3 changed files with 29 additions and 13 deletions

View File

@ -19,6 +19,12 @@
private string _title = ""; private string _title = "";
private string _content = ""; private string _content = "";
[Parameter]
public string RenderMode { get; set; }
[Parameter]
public string Runtime { get; set; }
protected override void OnInitialized() protected override void OnInitialized()
{ {
((INotifyPropertyChanged)SiteState.Properties).PropertyChanged += PropertyChanged; ((INotifyPropertyChanged)SiteState.Properties).PropertyChanged += PropertyChanged;
@ -49,15 +55,15 @@
private string RemoveScripts(string headcontent) private string RemoveScripts(string headcontent)
{ {
// if (!string.IsNullOrEmpty(headcontent)) if (!string.IsNullOrEmpty(headcontent) && RenderMode == RenderModes.Interactive)
// { {
// var index = headcontent.IndexOf("<script"); var index = headcontent.IndexOf("<script");
// while (index >= 0) while (index >= 0)
// { {
// headcontent = headcontent.Remove(index, headcontent.IndexOf("</script>") + 9 - index); headcontent = headcontent.Remove(index, headcontent.IndexOf("</script>") + 9 - index);
// index = headcontent.IndexOf("<script"); index = headcontent.IndexOf("<script");
// } }
// } }
return headcontent; return headcontent;
} }

View File

@ -1,6 +1,16 @@
<DynamicComponent Type="@ComponentType"></DynamicComponent> @using Oqtane.Shared;
<DynamicComponent Type="@ComponentType" Parameters="@Parameters"></DynamicComponent>
@code { @code {
Type ComponentType = Type.GetType("Oqtane.UI.Head, Oqtane.Client"); Type ComponentType = Type.GetType("Oqtane.UI.Head, Oqtane.Client");
private IDictionary<string, object> Parameters { get; set; }
protected override void OnInitialized()
{
Parameters = new Dictionary<string, object>();
Parameters.Add(new KeyValuePair<string, object>("RenderMode", RenderModes.Interactive));
Parameters.Add(new KeyValuePair<string, object>("Runtime", Runtimes.Hybrid));
}
} }

View File

@ -50,11 +50,11 @@
<link id="app-stylesheet-module" /> <link id="app-stylesheet-module" />
@if (_renderMode == RenderModes.Static) @if (_renderMode == RenderModes.Static)
{ {
<Head /> <Head RenderMode="@_renderMode" Runtime="@_runtime" />
} }
else else
{ {
<Head @rendermode="InteractiveRenderMode.GetInteractiveRenderMode(_runtime, _prerender)" /> <Head RenderMode="@_renderMode" Runtime="@_runtime" @rendermode="InteractiveRenderMode.GetInteractiveRenderMode(_runtime, _prerender)" />
} }
@((MarkupString)_headResources) @((MarkupString)_headResources)
</head> </head>