diff --git a/Oqtane.Client/Themes/Controls/Container/ModuleActions.razor b/Oqtane.Client/Themes/Controls/Container/ModuleActions.razor
index 3172d540..4b973c48 100644
--- a/Oqtane.Client/Themes/Controls/Container/ModuleActions.razor
+++ b/Oqtane.Client/Themes/Controls/Container/ModuleActions.razor
@@ -6,21 +6,21 @@
{
@if (PageState.RenderMode == RenderModes.Interactive)
{
-
+
}
else
{
-
+
}
}
@code {
- private ModuleActionsPageState _moduleActionsPageState;
+ private PageState _pageState;
protected override void OnParametersSet()
{
// trim PageState to mitigate page bloat caused by Blazor serializing/encrypting state when crossing render mode boundaries
- _moduleActionsPageState = new ModuleActionsPageState
+ _pageState = new PageState
{
Alias = PageState.Alias,
Page = PageState.Page,
diff --git a/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs b/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs
index bcbfadae..93e935b9 100644
--- a/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs
+++ b/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs
@@ -9,6 +9,7 @@ using Oqtane.Services;
using Oqtane.Shared;
using System.Net;
using Microsoft.Extensions.Localization;
+using Oqtane.UI;
// ReSharper disable UnassignedGetOnlyAutoProperty
// ReSharper disable MemberCanBePrivate.Global
@@ -22,7 +23,7 @@ namespace Oqtane.Themes.Controls
[Inject] public IModuleService ModuleService { get; set; }
[Inject] public IStringLocalizer Localizer { get; set; }
- [Parameter] public ModuleActionsPageState PageState { get; set; }
+ [Parameter] public PageState PageState { get; set; }
[Parameter] public Module ModuleState { get; set; }
public List Actions;
diff --git a/Oqtane.Client/Themes/Controls/Container/ModuleActionsPageState.cs b/Oqtane.Client/Themes/Controls/Container/ModuleActionsPageState.cs
deleted file mode 100644
index fd8ef018..00000000
--- a/Oqtane.Client/Themes/Controls/Container/ModuleActionsPageState.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Oqtane.Models;
-
-namespace Oqtane.Themes.Controls
-{
- public class ModuleActionsPageState
- {
- public Alias Alias { get; set; }
- public Page Page { get; set; }
- public User User { get; set; }
- public bool EditMode { get; set; }
- }
-}
diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
index 71af7603..83087013 100644
--- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
+++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
@@ -32,11 +32,11 @@
{
@if (PageState.RenderMode == RenderModes.Interactive)
{
-
+
}
else
{
-
+
}
}
@@ -59,7 +59,7 @@
[Parameter]
public string LanguageDropdownAlignment { get; set; } = string.Empty; // Empty or Left or Right
- private ControlPanelPageState _controlPanelPageState;
+ private PageState _pageState;
private bool _canViewAdminDashboard = false;
private bool _showEditMode = false;
@@ -85,14 +85,14 @@
}
// trim PageState to mitigate page bloat caused by Blazor serializing/encrypting state when crossing render mode boundaries
- _controlPanelPageState = new ControlPanelPageState
+ _pageState = new PageState
{
Alias = PageState.Alias,
Site = new Site
{
- DefaultContainerType = PageState.Site.DefaultContainerType,
+ DefaultContainerType = PageState.Site.DefaultContainerType,
Settings = PageState.Site.Settings,
- Themes = PageState.Site.Themes
+ Themes = PageState.Site.Themes
},
Page = PageState.Page,
User = PageState.User,
diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor
index 15185991..730e7dd8 100644
--- a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor
+++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor
@@ -228,7 +228,7 @@
public SiteState SiteState { get; set; }
[Parameter]
- public ControlPanelPageState PageState { get; set; }
+ public PageState PageState { get; set; }
[Parameter]
public string ButtonClass { get; set; }
diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanelPageState.cs b/Oqtane.Client/Themes/Controls/Theme/ControlPanelPageState.cs
deleted file mode 100644
index f0be1833..00000000
--- a/Oqtane.Client/Themes/Controls/Theme/ControlPanelPageState.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System.Collections.Generic;
-using System;
-using Oqtane.Models;
-using Oqtane.UI;
-
-namespace Oqtane.Themes.Controls
-{
- public class ControlPanelPageState
- {
- public Alias Alias { get; set; }
- public Site Site { get; set; }
- public Page Page { get; set; }
- public User User { get; set; }
- public Uri Uri { get; set; }
- public Route Route { get; set; }
- public string RenderMode { get; set; }
- public Shared.Runtime Runtime { get; set; }
- }
-}
diff --git a/Oqtane.Client/UI/ModuleInstance.razor b/Oqtane.Client/UI/ModuleInstance.razor
index 15948e83..dc85e180 100644
--- a/Oqtane.Client/UI/ModuleInstance.razor
+++ b/Oqtane.Client/UI/ModuleInstance.razor
@@ -43,7 +43,7 @@
{
// trim PageState to mitigate page bloat caused by Blazor serializing/encrypting state when crossing render mode boundaries
// please note that this performance optimization results in the PageState.Pages property not being available for use in Interactive components
- PageState.Site.Pages = new List();
+ PageState.Site.Pages = null;
}
}
diff --git a/Oqtane.Client/UI/PageState.cs b/Oqtane.Client/UI/PageState.cs
index b8a3bffc..0c17c530 100644
--- a/Oqtane.Client/UI/PageState.cs
+++ b/Oqtane.Client/UI/PageState.cs
@@ -30,11 +30,11 @@ namespace Oqtane.UI
public List Pages
{
- get { return Site.Pages; }
+ get { return Site?.Pages; }
}
public List Languages
{
- get { return Site.Languages; }
+ get { return Site?.Languages; }
}
}
}