diff --git a/Oqtane.Client/Modules/Controls/ModuleMessage.razor b/Oqtane.Client/Modules/Controls/ModuleMessage.razor
index abaa8b2d..5a14bd3f 100644
--- a/Oqtane.Client/Modules/Controls/ModuleMessage.razor
+++ b/Oqtane.Client/Modules/Controls/ModuleMessage.razor
@@ -12,12 +12,13 @@
{
View Details
}
-
+
}
}
@code {
+ private string _message = string.Empty;
private string _classname = string.Empty;
private string _formname = "ModuleMessageForm";
@@ -27,15 +28,8 @@
[Parameter]
public MessageType Type { get; set; }
- public void RefreshMessage(string message, MessageType type)
- {
- Message = message;
- Type = type;
-
- UpdateClassName();
-
- StateHasChanged();
- }
+ [Parameter]
+ public RenderModeBoundary Parent { get; set; }
protected override void OnInitialized()
{
@@ -47,12 +41,8 @@
protected override void OnParametersSet()
{
- UpdateClassName();
- }
-
- private void UpdateClassName()
- {
- if (!string.IsNullOrEmpty(Message))
+ _message = Message;
+ if (!string.IsNullOrEmpty(_message))
{
_classname = GetMessageType(Type);
}
@@ -79,4 +69,15 @@
return classname;
}
+ private void CloseMessage(MouseEventArgs e)
+ {
+ if(Parent != null)
+ {
+ Parent.DismissMessage();
+ }
+ else
+ {
+ NavigationManager.NavigateTo(NavigationManager.Uri);
+ }
+ }
}
diff --git a/Oqtane.Client/Modules/ModuleBase.cs b/Oqtane.Client/Modules/ModuleBase.cs
index 4c5bb670..1731e22d 100644
--- a/Oqtane.Client/Modules/ModuleBase.cs
+++ b/Oqtane.Client/Modules/ModuleBase.cs
@@ -278,7 +278,6 @@ namespace Oqtane.Modules
public void AddModuleMessage(string message, MessageType type, string position)
{
- ClearModuleMessage();
RenderModeBoundary.AddModuleMessage(message, type, position);
}
diff --git a/Oqtane.Client/UI/RenderModeBoundary.razor b/Oqtane.Client/UI/RenderModeBoundary.razor
index b1f56793..2c451f29 100644
--- a/Oqtane.Client/UI/RenderModeBoundary.razor
+++ b/Oqtane.Client/UI/RenderModeBoundary.razor
@@ -10,13 +10,19 @@
{
@if (ModuleType != null)
{
-
+ @if (!string.IsNullOrEmpty(_messageContent) && _messagePosition == "top")
+ {
+
+ }
@DynamicComponent
@if (_progressIndicator)
{
}
-
+ @if (!string.IsNullOrEmpty(_messageContent) && _messagePosition == "bottom")
+ {
+
+ }
}
}
else
@@ -41,8 +47,6 @@
private string _messagePosition;
private bool _progressIndicator = false;
private string _error;
- private ModuleMessage moduleMessageTop;
- private ModuleMessage moduleMessageBottom;
[Parameter]
public SiteState SiteState { get; set; }
@@ -103,12 +107,17 @@
public void AddModuleMessage(string message, MessageType type, string position)
{
- _messageContent = message;
- _messageType = type;
- _messagePosition = position;
- _progressIndicator = false;
+ if(message != _messageContent
+ || type != _messageType
+ || position != _messagePosition)
+ {
+ _messageContent = message;
+ _messageType = type;
+ _messagePosition = position;
+ _progressIndicator = false;
- Refresh();
+ StateHasChanged();
+ }
}
public void ShowProgressIndicator()
@@ -123,25 +132,10 @@
StateHasChanged();
}
- private void DismissMessage()
+ public void DismissMessage()
{
_messageContent = "";
- }
-
- private void Refresh()
- {
- var updateTop = string.IsNullOrEmpty(_messageContent) || _messagePosition == "top";
- var updateBottom = string.IsNullOrEmpty(_messageContent) || _messagePosition == "bottom";
-
- if (updateTop && moduleMessageTop != null)
- {
- moduleMessageTop.RefreshMessage(_messageContent, _messageType);
- }
-
- if (updateBottom && moduleMessageBottom != null)
- {
- moduleMessageBottom.RefreshMessage(_messageContent, _messageType);
- }
+ StateHasChanged();
}
protected override async Task OnErrorAsync(Exception exception)