render mode integration
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
@using Microsoft.Net.Http.Headers
|
||||
@using Microsoft.Extensions.Primitives
|
||||
@using Oqtane.Client
|
||||
@using Oqtane.Client.Utilities
|
||||
@using Oqtane.UI
|
||||
@using Oqtane.Repository
|
||||
@using Oqtane.Infrastructure
|
||||
@using Oqtane.Security
|
||||
@ -47,26 +47,26 @@
|
||||
@((MarkupString)_styleSheets)
|
||||
<link id="app-stylesheet-page" />
|
||||
<link id="app-stylesheet-module" />
|
||||
@if (_renderMode == "Interactive")
|
||||
@if (_renderMode == RenderModes.StaticServer)
|
||||
{
|
||||
<Head @rendermode="@RenderModes.GetInteractiveRenderMode((_renderMode + _interactiveRenderMode), _prerender.Contains("Prerendered"))" />
|
||||
<Head />
|
||||
}
|
||||
else
|
||||
{
|
||||
<Head />
|
||||
<Head @rendermode="@RenderMode.GetInteractiveRenderMode((_renderMode), _prerender)" />
|
||||
}
|
||||
@((MarkupString)_headResources)
|
||||
</head>
|
||||
<body>
|
||||
@if (string.IsNullOrEmpty(_message))
|
||||
{
|
||||
@if (_renderMode == "Interactive")
|
||||
@if (_renderMode == RenderModes.StaticServer)
|
||||
{
|
||||
<Routes AntiForgeryToken="@_antiForgeryToken" Runtime="@_interactiveRenderMode" RenderMode="@_prerender" VisitorId="@_visitorId" RemoteIPAddress="@_remoteIPAddress" AuthorizationToken="@_authorizationToken" @rendermode="@RenderModes.GetInteractiveRenderMode((_renderMode + _interactiveRenderMode), _prerender.Contains("Prerendered"))" />
|
||||
<Routes AntiForgeryToken="@_antiForgeryToken" RenderMode="@_renderMode" VisitorId="@_visitorId" RemoteIPAddress="@_remoteIPAddress" AuthorizationToken="@_authorizationToken" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<Routes AntiForgeryToken="@_antiForgeryToken" Runtime="@_interactiveRenderMode" RenderMode="@_prerender" VisitorId="@_visitorId" RemoteIPAddress="@_remoteIPAddress" AuthorizationToken="@_authorizationToken" />
|
||||
<Routes AntiForgeryToken="@_antiForgeryToken" RenderMode="@_renderMode" VisitorId="@_visitorId" RemoteIPAddress="@_remoteIPAddress" AuthorizationToken="@_authorizationToken" @rendermode="@RenderMode.GetInteractiveRenderMode((_renderMode), _prerender)" />
|
||||
}
|
||||
|
||||
<script src="js/interop.js"></script>
|
||||
@ -90,9 +90,8 @@
|
||||
</html>
|
||||
|
||||
@code {
|
||||
private string _renderMode = "Interactive";
|
||||
private string _interactiveRenderMode = "Server";
|
||||
private string _prerender = "Prerendered";
|
||||
private string _renderMode = RenderModes.InteractiveServer;
|
||||
private bool _prerender = true;
|
||||
private int _visitorId = -1;
|
||||
private string _remoteIPAddress = "";
|
||||
private string _authorizationToken = "";
|
||||
@ -128,16 +127,10 @@
|
||||
}
|
||||
|
||||
var site = SiteRepository.GetSite(alias.SiteId);
|
||||
if (site != null && (!site.IsDeleted || url.Contains("admin/site")) && site.Runtime != "Hybrid")
|
||||
if (site != null && (!site.IsDeleted || url.Contains("admin/site")) && !site.Hybrid)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(site.Runtime))
|
||||
{
|
||||
_interactiveRenderMode = site.Runtime;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(site.RenderMode))
|
||||
{
|
||||
_prerender = site.RenderMode;
|
||||
}
|
||||
_renderMode = site.RenderMode;
|
||||
_prerender = site.Prerender;
|
||||
|
||||
Route route = new Route(url, alias.Path);
|
||||
var page = PageRepository.GetPage(route.PagePath, site.SiteId);
|
||||
@ -186,7 +179,7 @@
|
||||
ManageStyleSheets(resources, alias, theme.ThemeName);
|
||||
|
||||
// scripts
|
||||
if (_interactiveRenderMode == "InteractiveServer")
|
||||
if (_renderMode == RenderModes.InteractiveServer)
|
||||
{
|
||||
_reconnectScript = CreateReconnectScript();
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ namespace Oqtane.Controllers
|
||||
var assemblyList = new List<ClientAssembly>();
|
||||
|
||||
var site = _sites.GetSite(alias.SiteId);
|
||||
if (site != null && (site.Runtime == "WebAssembly" || site.HybridEnabled))
|
||||
if (site != null && (site.RenderMode == "InteractiveWebAssembly" || site.Hybrid))
|
||||
{
|
||||
var binFolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
|
||||
|
||||
@ -201,7 +201,7 @@ namespace Oqtane.Controllers
|
||||
private byte[] GetZIP(string list, Alias alias)
|
||||
{
|
||||
var site = _sites.GetSite(alias.SiteId);
|
||||
if (site != null && (site.Runtime == "WebAssembly" || site.HybridEnabled))
|
||||
if (site != null && (site.RenderMode == "InteractiveWebAssembly" || site.Hybrid))
|
||||
{
|
||||
var binFolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
|
||||
|
||||
|
@ -212,7 +212,7 @@ namespace Oqtane.Controllers
|
||||
site = _sites.UpdateSite(site);
|
||||
_syncManager.AddSyncEvent(_alias.TenantId, EntityNames.Site, site.SiteId, SyncEventActions.Update);
|
||||
string action = SyncEventActions.Refresh;
|
||||
if (current.Runtime != site.Runtime || current.RenderMode != site.RenderMode)
|
||||
if (current.RenderMode != site.RenderMode)
|
||||
{
|
||||
action = SyncEventActions.Reload;
|
||||
}
|
||||
|
@ -556,9 +556,9 @@ namespace Oqtane.Infrastructure
|
||||
DefaultContainerType = (!string.IsNullOrEmpty(install.DefaultContainer)) ? install.DefaultContainer : Constants.DefaultContainer,
|
||||
AdminContainerType = (!string.IsNullOrEmpty(install.DefaultAdminContainer)) ? install.DefaultAdminContainer : Constants.DefaultAdminContainer,
|
||||
SiteTemplateType = install.SiteTemplate,
|
||||
Runtime = (!string.IsNullOrEmpty(install.Runtime)) ? install.Runtime : _configManager.GetSection("Runtime").Value,
|
||||
RenderMode = (!string.IsNullOrEmpty(install.RenderMode)) ? install.RenderMode : _configManager.GetSection("RenderMode").Value,
|
||||
HybridEnabled = false
|
||||
Prerender = true,
|
||||
Hybrid = false
|
||||
};
|
||||
site = sites.AddSite(site);
|
||||
|
||||
|
@ -8,6 +8,7 @@ using Oqtane.Repository;
|
||||
namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
[DbContext(typeof(TenantDBContext))]
|
||||
// note that the following migration was actually for version 5.0.2 (ie. "Tenant.05.00.02.01")
|
||||
[Migration("Tenant.05.01.00.01")]
|
||||
public class AddPageEffectiveExpiryDate : MultiDatabaseMigration
|
||||
{
|
||||
|
@ -8,6 +8,7 @@ using Oqtane.Repository;
|
||||
namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
[DbContext(typeof(TenantDBContext))]
|
||||
// note that the following migration was actually for version 5.0.2 (ie. "Tenant.05.00.02.02")
|
||||
[Migration("Tenant.05.01.00.02")]
|
||||
public class AddPageModuleEffectiveExpiryDate : MultiDatabaseMigration
|
||||
{
|
||||
|
@ -7,6 +7,7 @@ using Oqtane.Repository;
|
||||
namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
[DbContext(typeof(TenantDBContext))]
|
||||
// note that the following migration was actually for version 5.0.2 (ie. "Tenant.05.00.02.03")
|
||||
[Migration("Tenant.05.01.00.03")]
|
||||
public class AddProfileAutocomplete : MultiDatabaseMigration
|
||||
{
|
||||
|
39
Oqtane.Server/Migrations/Tenant/05010004_AddSitePrerender.cs
Normal file
39
Oqtane.Server/Migrations/Tenant/05010004_AddSitePrerender.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
using Oqtane.Migrations.EntityBuilders;
|
||||
using Oqtane.Repository;
|
||||
using Oqtane.Shared;
|
||||
|
||||
namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
[DbContext(typeof(TenantDBContext))]
|
||||
[Migration("Tenant.05.01.00.04")]
|
||||
public class AddSitePrerender : MultiDatabaseMigration
|
||||
{
|
||||
public AddSitePrerender(IDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
|
||||
siteEntityBuilder.UpdateColumn("RenderMode", $"'{RenderModes.InteractiveServer}'");
|
||||
|
||||
siteEntityBuilder.AddBooleanColumn("Prerender", true);
|
||||
siteEntityBuilder.UpdateColumn("Prerender", "1", "bool", "");
|
||||
|
||||
siteEntityBuilder.AddBooleanColumn("Hybrid", true);
|
||||
siteEntityBuilder.UpdateColumn("Hybrid", "0", "bool", "");
|
||||
|
||||
siteEntityBuilder.DropColumn("Runtime");
|
||||
siteEntityBuilder.DropColumn("HybridEnabled");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
// not implemented
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user