diff --git a/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx b/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx index be3687ea..6a8302d7 100644 --- a/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx +++ b/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx @@ -210,4 +210,10 @@ You Must Select A Module And The Copy Mode. + + The Module's Content Will Not Be Synchronized. + + + Copy Existing Module + \ No newline at end of file diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor index 5c855657..d33b1d21 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor @@ -98,7 +98,8 @@ @if (PageState.Page.UserId == null) { - + + } @if (_moduleType == "new") @@ -149,18 +150,14 @@ } - @foreach (Module module in _modules) { } - + @((MarkupString)_copyModuleMessage) } @@ -267,13 +264,13 @@ protected string _moduleId { get; private set; } = "-"; protected string _moduleType { get; private set; } = "new"; protected string _moduleDefinitionName { get; private set; } = "-"; - protected string _copyMode { 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 _copyModuleMessage { get; private set; } = ""; private string settingCategory = "CP-category"; private string settingPane = "CP-pane"; @@ -358,13 +355,26 @@ StateHasChanged(); } + private void ModuleIdChanged() + { + _copyModuleMessage = string.Empty; + if(_moduleId != "-") + { + var module = _modules.FirstOrDefault(item => item.ModuleId == int.Parse(_moduleId)); + if (module != null && !module.ModuleDefinition.IsPortable) + { + _copyModuleMessage = $"
{Localizer["Message.Module.NotPortable"]}
"; + } + } + } + private async Task AddModule() { if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList)) { - if ((_moduleType == "new" && _moduleDefinitionName != "-") || (_moduleType != "new" && _moduleId != "-" && _copyMode != "-")) + if ((_moduleType == "new" && _moduleDefinitionName != "-") || (_moduleType != "new" && _moduleId != "-")) { - var newModuleId = int.Parse(_moduleId); + var newModuleId = _moduleId != "-" ? int.Parse(_moduleId) : 0; if (_moduleType == "new") { Module module = new Module(); @@ -377,7 +387,7 @@ module = await ModuleService.AddModuleAsync(module); newModuleId = module.ModuleId; } - else if(_copyMode == "copy") + else if (_moduleType == "exsiting.copy") { var module = await ModuleService.GetModuleAsync(int.Parse(_moduleId)); module.ModuleId = 0; @@ -433,8 +443,7 @@ } else { - var error = _moduleType == "new" ? Localizer["Message.Require.ModuleSelect"] : Localizer["Message.Require.ModuleAndCopyModeSelect"]; - _message = $"
{error}
"; + _message = $"
{Localizer["Message.Require.ModuleSelect"]}
"; } } else