diff --git a/Oqtane.Client/Modules/ModuleBase.cs b/Oqtane.Client/Modules/ModuleBase.cs
index 41812923..f5c0bef7 100644
--- a/Oqtane.Client/Modules/ModuleBase.cs
+++ b/Oqtane.Client/Modules/ModuleBase.cs
@@ -261,7 +261,12 @@ namespace Oqtane.Modules
// UI methods
public void AddModuleMessage(string message, MessageType type)
{
- ModuleInstance.AddModuleMessage(message, type);
+ AddModuleMessage(message, type, "top");
+ }
+
+ public void AddModuleMessage(string message, MessageType type, string position)
+ {
+ ModuleInstance.AddModuleMessage(message, type, position);
}
public void ClearModuleMessage()
diff --git a/Oqtane.Client/UI/ModuleInstance.razor b/Oqtane.Client/UI/ModuleInstance.razor
index f05ef9be..78ae6d5c 100644
--- a/Oqtane.Client/UI/ModuleInstance.razor
+++ b/Oqtane.Client/UI/ModuleInstance.razor
@@ -5,7 +5,10 @@
@if (CurrentException is null)
{
-
+ if (_messagePosition == "top")
+ {
+
+ }
@if (ModuleType != null)
{
@@ -14,6 +17,10 @@
}
}
+ if (_messagePosition == "bottom")
+ {
+
+ }
}
else
{
@@ -24,49 +31,58 @@ else
}
@code {
- private string _message;
- private string _error;
- private MessageType _messageType;
- private bool _progressIndicator = false;
+ private string _message;
+ private string _error;
+ private MessageType _messageType;
+ private string _messagePosition;
+ private bool _progressIndicator = false;
- private Type ModuleType { get; set; }
- private IDictionary ModuleParameters { get; set; }
+ private Type ModuleType { get; set; }
+ private IDictionary ModuleParameters { get; set; }
- [CascadingParameter]
- protected PageState PageState { get; set; }
+ [CascadingParameter]
+ protected PageState PageState { get; set; }
- [CascadingParameter]
- private Module ModuleState { get; set; }
+ [CascadingParameter]
+ private Module ModuleState { get; set; }
- private ModuleMessage ModuleMessage { get; set; }
+ private ModuleMessage ModuleMessage { get; set; }
- protected override void OnParametersSet()
- {
- _message = "";
- if (!string.IsNullOrEmpty(ModuleState.ModuleType))
- {
- ModuleType = Type.GetType(ModuleState.ModuleType);
- if (ModuleType != null)
- {
- ModuleParameters = new Dictionary { { "ModuleInstance", this } };
- return;
- }
- // module does not exist with typename specified
- _message = string.Format(Localizer["Error.Module.InvalidName"], Utilities.GetTypeNameLastSegment(ModuleState.ModuleType, 0));
- _messageType = MessageType.Error;
- }
- else
- {
- _message = string.Format(Localizer["Error.Module.InvalidType"], ModuleState.ModuleDefinitionName);
- _messageType = MessageType.Error;
- }
- }
+ protected override void OnParametersSet()
+ {
+ _message = "";
+ if (!string.IsNullOrEmpty(ModuleState.ModuleType))
+ {
+ ModuleType = Type.GetType(ModuleState.ModuleType);
+ if (ModuleType != null)
+ {
+ ModuleParameters = new Dictionary { { "ModuleInstance", this } };
+ return;
+ }
+ // module does not exist with typename specified
+ _message = string.Format(Localizer["Error.Module.InvalidName"], Utilities.GetTypeNameLastSegment(ModuleState.ModuleType, 0));
+ _messageType = MessageType.Error;
+ _messagePosition = "top";
+ }
+ else
+ {
+ _message = string.Format(Localizer["Error.Module.InvalidType"], ModuleState.ModuleDefinitionName);
+ _messageType = MessageType.Error;
+ _messagePosition = "top";
+ }
+ }
- public void AddModuleMessage(string message, MessageType type)
- {
- _message = message;
- _messageType = type;
- _progressIndicator = false;
+ public void AddModuleMessage(string message, MessageType type)
+ {
+ AddModuleMessage(message, type, "top");
+ }
+
+ public void AddModuleMessage(string message, MessageType type, string position)
+ {
+ _message = message;
+ _messageType = type;
+ _messagePosition = position;
+ _progressIndicator = false;
StateHasChanged();
}