commit
1979a6dc4b
@ -1,4 +1,5 @@
|
||||
@namespace Oqtane.Modules.Admin.Modules
|
||||
@using Oqtane.Interfaces
|
||||
@inherits ModuleBase
|
||||
@inject NavigationManager NavigationManager
|
||||
@inject IThemeService ThemeService
|
||||
@ -137,7 +138,7 @@
|
||||
builder.AddComponentReferenceCapture(1, inst => { _settings = Convert.ChangeType(inst, _settingsModuleType); });
|
||||
builder.CloseComponent();
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async Task SaveModule()
|
||||
@ -162,15 +163,16 @@
|
||||
module.Permissions = _permissionGrid.GetPermissions();
|
||||
await ModuleService.UpdateModuleAsync(module);
|
||||
|
||||
if (_settingsModuleType != null)
|
||||
|
||||
if (_settings is ISettingsControl control)
|
||||
{
|
||||
var moduleType = Type.GetType(ModuleState.ModuleType);
|
||||
if (moduleType != null)
|
||||
{
|
||||
moduleType.GetMethod("UpdateSettings")?.Invoke(_settings, null); // method must be public in settings component
|
||||
}
|
||||
await control.UpdateSettings();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Compatibility 2.0 fallback
|
||||
_settings?.GetType().GetMethod("UpdateSettings")?.Invoke(_settings, null); // method must be public in settings component
|
||||
}
|
||||
|
||||
NavigationManager.NavigateTo(NavigateUrl());
|
||||
}
|
||||
|
||||
|
9
Oqtane.Shared/Interfaces/ISettingsControl.cs
Normal file
9
Oqtane.Shared/Interfaces/ISettingsControl.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Oqtane.Interfaces
|
||||
{
|
||||
public interface ISettingsControl
|
||||
{
|
||||
Task UpdateSettings();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user