Merge pull request #1676 from sbwalker/dev

modify method for determining Runtime in SiteRouter as ComponentTagHelper "param-" appears to only work on Blazor Server - not on WebAssembly
This commit is contained in:
Shaun Walker 2021-09-21 12:41:31 -04:00 committed by GitHub
commit 00e2e79fc5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 9 deletions

View File

@ -15,7 +15,7 @@
{ {
<CascadingAuthenticationState> <CascadingAuthenticationState>
<CascadingValue Value="@PageState"> <CascadingValue Value="@PageState">
<SiteRouter Runtime="@Runtime" OnStateChange="@ChangeState" /> <SiteRouter Runtime="@Runtime" RenderMode="@RenderMode" OnStateChange="@ChangeState" />
</CascadingValue> </CascadingValue>
</CascadingAuthenticationState> </CascadingAuthenticationState>
} }
@ -30,15 +30,11 @@
} }
@code { @code {
[Parameter]
public string Runtime { get; set; }
[Parameter]
public string RenderMode { get; set; }
private bool _initialized = false; private bool _initialized = false;
private string _display = "display: none;"; private string _display = "display: none;";
private Installation _installation = new Installation { Success = false, Message = "" }; private Installation _installation = new Installation { Success = false, Message = "" };
private string Runtime = "";
private string RenderMode = "";
private PageState PageState { get; set; } private PageState PageState { get; set; }
@ -62,6 +58,8 @@
{ {
var interop = new Interop(JSRuntime); var interop = new Interop(JSRuntime);
SiteState.AntiForgeryToken = await interop.GetElementByName(Constants.RequestVerificationToken); SiteState.AntiForgeryToken = await interop.GetElementByName(Constants.RequestVerificationToken);
Runtime = await interop.GetElementByName("app_runtime");
RenderMode = await interop.GetElementByName("app_rendermode");
_display = ""; _display = "";
StateHasChanged(); StateHasChanged();
} }

View File

@ -22,6 +22,9 @@
[Parameter] [Parameter]
public string Runtime { get; set; } public string Runtime { get; set; }
[Parameter]
public string RenderMode { get; set; }
[CascadingParameter] [CascadingParameter]
PageState PageState { get; set; } PageState PageState { get; set; }
@ -52,7 +55,7 @@
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
if (PageState == null) if (PageState == null && !string.IsNullOrEmpty(Runtime))
{ {
await Refresh(); await Refresh();
} }

View File

@ -20,7 +20,7 @@
<body> <body>
@(Html.AntiForgeryToken()) @(Html.AntiForgeryToken())
<app> <app>
<component type="typeof(Oqtane.App)" render-mode="@Model.RenderMode" param-Runtime="@Model.Runtime" param-RenderMode="@Model.RenderMode.ToString()" /> <component type="typeof(Oqtane.App)" render-mode="@Model.RenderMode" />
</app> </app>
<div id="blazor-error-ui"> <div id="blazor-error-ui">
@ -44,6 +44,8 @@
{ {
<script src="_framework/blazor.server.js"></script> <script src="_framework/blazor.server.js"></script>
} }
<input name="app_runtime" type="hidden" value="@Model.Runtime">
<input name="app_rendermode" type="hidden" value="@Model.RenderMode">
@Html.Raw(@Model.BodyResources) @Html.Raw(@Model.BodyResources)
</body> </body>
</html> </html>