From df64abaf9c8e085b7d84593b9223e78494fc4fa7 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Tue, 20 Feb 2024 14:54:48 -0500 Subject: [PATCH] fix #3839 - changing theme in Page Add/Edit throwing exception --- Oqtane.Client/Modules/Admin/Pages/Add.razor | 7 ++++--- Oqtane.Client/Modules/Admin/Pages/Edit.razor | 11 ++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor index 05a97d7a..27411dcf 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Add.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor @@ -201,7 +201,7 @@ @if (_themeSettingsType != null) { - @ThemeSettingsComponent + @_themeSettingsComponent } @@ -240,7 +240,7 @@ private PermissionGrid _permissionGrid; private Type _themeSettingsType; private object _themeSettings; - private RenderFragment ThemeSettingsComponent { get; set; } + private RenderFragment _themeSettingsComponent { get; set; } private bool _refresh = false; protected Page _parent = null; protected Dictionary _icons; @@ -337,13 +337,14 @@ private void ThemeSettings() { _themeSettingsType = null; + _themeSettingsComponent = null; var theme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_themetype))); if (theme != null && !string.IsNullOrEmpty(theme.ThemeSettingsType)) { _themeSettingsType = Type.GetType(theme.ThemeSettingsType); if (_themeSettingsType != null) { - ThemeSettingsComponent = builder => + _themeSettingsComponent = builder => { builder.OpenComponent(0, _themeSettingsType); builder.AddComponentReferenceCapture(1, inst => { _themeSettings = Convert.ChangeType(inst, _themeSettingsType); }); diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor index 3084ef84..a61c28b2 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor @@ -234,7 +234,7 @@ @if (_themeSettingsType != null) { - @ThemeSettingsComponent + @_themeSettingsComponent
} @@ -278,7 +278,7 @@ @if (_themeSettingsType != null) { - @ThemeSettingsComponent + @_themeSettingsComponent
} @@ -317,7 +317,7 @@ private string _containertype = "-"; private Type _themeSettingsType; private object _themeSettings; - private RenderFragment ThemeSettingsComponent { get; set; } + private RenderFragment _themeSettingsComponent { get; set; } private string _headcontent; private string _bodycontent; private List _permissions = null; @@ -467,7 +467,7 @@ _containertype = _containers.First().TypeName; ThemeSettings(); StateHasChanged(); - + // if theme chosen is different than default site theme, display warning message to user if (ThemeService.GetTheme(PageState.Site.Themes, _themetype)?.ThemeName != ThemeService.GetTheme(PageState.Site.Themes, PageState.Site.DefaultThemeType)?.ThemeName) { @@ -478,13 +478,14 @@ private void ThemeSettings() { _themeSettingsType = null; + _themeSettingsComponent = null; var theme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_themetype))); if (theme != null && !string.IsNullOrEmpty(theme.ThemeSettingsType)) { _themeSettingsType = Type.GetType(theme.ThemeSettingsType); if (_themeSettingsType != null) { - ThemeSettingsComponent = builder => + _themeSettingsComponent = builder => { builder.OpenComponent(0, _themeSettingsType); builder.AddComponentReferenceCapture(1, inst => { _themeSettings = Convert.ChangeType(inst, _themeSettingsType); });