From c3bccbade88fc7ad060b7df0771ea8432c606a78 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Wed, 21 Jun 2023 09:20:05 -0400 Subject: [PATCH] fix #2387 - improve container selection in Edit Page --- Oqtane.Client/Modules/Admin/Pages/Edit.razor | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor index 1eda0dfa..4d9c791c 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor @@ -367,11 +367,11 @@ // appearance _title = _page.Title; - _themetype = _page.ThemeType; - if (string.IsNullOrEmpty(_themetype)) + if (string.IsNullOrEmpty(_page.ThemeType)) { - _themetype = PageState.Site.DefaultThemeType; + _page.ThemeType = PageState.Site.DefaultThemeType; } + _themetype = _page.ThemeType; _containers = ThemeService.GetContainerControls(PageState.Site.Themes, _themetype); _containertype = _page.DefaultContainerType; if (string.IsNullOrEmpty(_containertype)) @@ -480,10 +480,15 @@ try { _themetype = (string)e.Value; - _containers = ThemeService.GetContainerControls(PageState.Site.Themes, _themetype); - _containertype = "-"; - ThemeSettings(); - StateHasChanged(); + var oldTheme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_page.ThemeType))); + var newTheme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_themetype))); + if (oldTheme.ThemeName != newTheme.ThemeName) + { + _containers = ThemeService.GetContainerControls(PageState.Site.Themes, _themetype); + _containertype = _containers.First().TypeName; + ThemeSettings(); + StateHasChanged(); + } } catch (Exception ex) {