diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
index beec2fb0..6705dc8c 100644
--- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
+++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
@@ -118,119 +118,122 @@
}
-
-
-
-
- @if (ModuleType == "new")
- {
- @if (_moduleDefinitions != null)
- {
-
-
- }
- }
- else
- {
-
-
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- @((MarkupString)Message)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @((MarkupString)_message)
}
@@ -244,8 +247,6 @@
}
-
-
@code{
[Parameter]
public string ButtonClass { get; set; } = "btn-outline-secondary";
@@ -274,53 +275,34 @@
private List _pages = new List();
private List _modules = new List();
private List _containers = new List();
+
+ [SupplyParameterFromForm] public string ModuleType { get => ""; set => _moduleType = value; }
+ [SupplyParameterFromForm] public string Category { get => ""; set => _category = value; }
+ [SupplyParameterFromForm] public string ModuleDefinitionName { get => ""; set => _moduleDefinitionName = value; }
+ [SupplyParameterFromForm] public string PageId { get => ""; set => _pageId = value; }
+ [SupplyParameterFromForm] public string ModuleId { get => ""; set => _moduleId = value; }
+ [SupplyParameterFromForm] public string Title { get => ""; set => _title = value; }
+ [SupplyParameterFromForm] public string Pane { get => ""; set => _pane = value; }
+ [SupplyParameterFromForm] public int Location { get => -1; set => _location = value; }
+ [SupplyParameterFromForm] public string Container { get => ""; set => _container = value; }
+ [SupplyParameterFromForm] public string Visibility { get => ""; set => _visibility = value; }
+
+ protected string _moduleType = "new";
private string _category = "Common";
+ protected string _moduleDefinitionName = "-";
+ protected string _pageId = "-";
+ protected string _moduleId = "-";
+ protected string _title = "";
private string _pane = "";
+ protected int _location = int.MaxValue;
+ protected string _container = "";
+ protected string _visibility = "view";
- protected string PageId { get; private set; } = "-";
- protected string ModuleId { get; private set; } = "-";
- protected string ModuleType { get; private set; } = "new";
- protected string ModuleDefinitionName { get; private set; } = "-";
-
- protected string Title { get; private set; } = "";
- protected string ContainerType { get; private set; } = "";
- protected int Location { get; private set; } = int.MaxValue;
- protected string Visibility { get; private set; } = "view";
- protected string Message { get; private set; } = "";
+ protected string _message { get; private set; } = "";
private string settingCategory = "CP-category";
private string settingPane = "CP-pane";
- protected string Category
- {
- get => _category;
- private set
- {
- if (_category != value)
- {
- _category = value;
- _moduleDefinitions = _allModuleDefinitions.Where(item => item.Categories.Contains(Category)).ToList();
- ModuleDefinitionName = "-";
- Message = "";
- StateHasChanged();
- _ = UpdateSettingsAsync();
- }
- }
- }
-
- protected string Pane
- {
- get => _pane;
- private set
- {
- if (_pane != value)
- {
- _pane = value;
- _ = UpdateSettingsAsync();
- }
- }
- }
-
private void AdminDashboard()
{
Navigate("Admin");
@@ -351,9 +333,9 @@
var themes = await ThemeService.GetThemesAsync();
_containers = ThemeService.GetContainerControls(themes, PageState.Page.ThemeType);
- ContainerType = PageState.Site.DefaultContainerType;
+ _container = PageState.Site.DefaultContainerType;
_allModuleDefinitions = await ModuleDefinitionService.GetModuleDefinitionsAsync(PageState.Site.SiteId);
- _moduleDefinitions = _allModuleDefinitions.Where(item => item.Categories.Contains(Category)).ToList();
+ _moduleDefinitions = _allModuleDefinitions.Where(item => item.Categories.Contains(_category)).ToList();
_categories = _allModuleDefinitions.SelectMany(m => m.Categories.Split(',')).Distinct().ToList();
}
else
@@ -387,35 +369,38 @@
private void CategoryChanged(ChangeEventArgs e)
{
- Category = (string)e.Value;
+ _category = (string)e.Value;
+ _moduleDefinitions = _allModuleDefinitions.Where(item => item.Categories.Contains(Category)).ToList();
+ _moduleDefinitionName = "-";
+ _message = "";
}
- private void ModuleChanged(ChangeEventArgs e)
+ private void ModuleDefinitionChanged(ChangeEventArgs e)
{
- ModuleDefinitionName = (string)e.Value;
- if (ModuleDefinitionName != "-")
+ _moduleDefinitionName = (string)e.Value;
+ if (_moduleDefinitionName != "-")
{
- var moduleDefinition = _moduleDefinitions.FirstOrDefault(item => item.ModuleDefinitionName == ModuleDefinitionName);
- Message = "" + moduleDefinition.Description + "
";
+ var moduleDefinition = _moduleDefinitions.FirstOrDefault(item => item.ModuleDefinitionName == _moduleDefinitionName);
+ _message = "" + moduleDefinition.Description + "
";
}
else
{
- Message = "";
+ _message = "";
}
StateHasChanged();
}
private void PageChanged(ChangeEventArgs e)
{
- PageId = (string)e.Value;
- if (PageId != "-")
+ _pageId = (string)e.Value;
+ if (_pageId != "-")
{
_modules = PageState.Modules
- .Where(module => module.PageId == int.Parse(PageId) &&
+ .Where(module => module.PageId == int.Parse(_pageId) &&
UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList))
.ToList();
}
- ModuleId = "-";
+ _moduleId = "-";
StateHasChanged();
}
@@ -423,18 +408,18 @@
{
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
{
- if ((ModuleType == "new" && ModuleDefinitionName != "-") || (ModuleType != "new" && ModuleId != "-"))
+ if ((_moduleType == "new" && _moduleDefinitionName != "-") || (_moduleType != "new" && _moduleId != "-"))
{
- if (ModuleType == "new")
+ if (_moduleType == "new")
{
Module module = new Module();
module.SiteId = PageState.Site.SiteId;
module.PageId = PageState.Page.PageId;
- module.ModuleDefinitionName = ModuleDefinitionName;
+ module.ModuleDefinitionName = _moduleDefinitionName;
module.AllPages = false;
var permissions = new List();
- if (Visibility == "view")
+ if (_visibility == "view")
{
// set module view permissions to page view permissions
permissions = SetPermissions(permissions, module.SiteId, PermissionNames.View, PermissionNames.View);
@@ -455,24 +440,24 @@
var pageModule = new PageModule
{
PageId = PageState.Page.PageId,
- ModuleId = int.Parse(ModuleId),
- Title = Title
+ ModuleId = int.Parse(_moduleId),
+ Title = _title
};
if (pageModule.Title == "")
{
- if (ModuleType == "new")
+ if (_moduleType == "new")
{
- pageModule.Title = _moduleDefinitions.FirstOrDefault(item => item.ModuleDefinitionName == ModuleDefinitionName)?.Name;
+ pageModule.Title = _moduleDefinitions.FirstOrDefault(item => item.ModuleDefinitionName == _moduleDefinitionName)?.Name;
}
else
{
- pageModule.Title = _modules.FirstOrDefault(item => item.ModuleId == int.Parse(ModuleId))?.Title;
+ pageModule.Title = _modules.FirstOrDefault(item => item.ModuleId == int.Parse(_moduleId))?.Title;
}
}
- pageModule.Pane = Pane;
- pageModule.Order = Location;
- pageModule.ContainerType = ContainerType;
+ pageModule.Pane = _pane;
+ pageModule.Order = _location;
+ pageModule.ContainerType = _container;
if (pageModule.ContainerType == PageState.Site.DefaultContainerType)
{
@@ -481,19 +466,20 @@
await PageModuleService.AddPageModuleAsync(pageModule);
await PageModuleService.UpdatePageModuleOrderAsync(pageModule.PageId, pageModule.Pane);
+ await UpdateSettingsAsync();
- Message = $"{Localizer["Success.Page.ModuleAdd"]}
";
- Title = "";
+ _message = $"{Localizer["Success.Page.ModuleAdd"]}
";
+ _title = "";
NavigationManager.NavigateTo(NavigateUrl());
}
else
{
- Message = $"{Localizer["Message.Require.ModuleSelect"]}
";
+ _message = $"{Localizer["Message.Require.ModuleSelect"]}
";
}
}
else
{
- Message = $"{Localizer["Error.Authorize.No"]}
";
+ _message = $"{Localizer["Error.Authorize.No"]}
";
}
}
@@ -712,8 +698,6 @@
private void ClearMessage()
{
-
- Message = "";
-
+ _message = "";
}
}