Fixed issue in client-side Blazor, added ModuleMessage to ModuleInstance

This commit is contained in:
Shaun Walker
2019-09-25 14:02:30 -04:00
parent 3af2ca0168
commit 07c00765ac
5 changed files with 46 additions and 22 deletions

View File

@ -1,11 +1,10 @@
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
@if (Message != "")
@if (!string.IsNullOrEmpty(message))
{
<div class="@type">@Message</div>
<br />
<br />
<div class="@classname" role="alert">@message</div>
<br /><br />
}
@code {
@ -15,24 +14,39 @@
[Parameter]
public MessageType Type { get; set; }
string type = "alert alert-danger";
string message = "";
string classname = "alert alert-danger";
protected override void OnInitialized()
protected override void OnParametersSet()
{
switch (Type)
message = Message;
classname = GetMessageType(Type);
}
public void SetModuleMessage(string message, MessageType type)
{
this.message = message;
classname = GetMessageType(type);
}
private string GetMessageType(MessageType type)
{
string classname = "";
switch (type)
{
case MessageType.Success:
type = "alert alert-success";
classname = "alert alert-success";
break;
case MessageType.Info:
type = "alert alert-info";
classname = "alert alert-info";
break;
case MessageType.Warning:
type = "alert alert-warning";
classname = "alert alert-warning";
break;
case MessageType.Error:
type = "alert alert-danger";
classname = "alert alert-danger";
break;
}
return classname;
}
}

View File

@ -6,17 +6,13 @@
@inject HttpClient http
@inject SiteState sitestate
<ModuleMessage Message="@message" />
@((MarkupString)content)
<br />
<ActionLink Action="Edit" />
<br />
<br />
<br /><br />
@code {
string message = "";
string content;
protected override async Task OnParametersSetAsync()
@ -32,7 +28,7 @@
}
catch (Exception ex)
{
message = ex.Message;
ModuleInstance.AddModuleMessage(ex.Message, MessageType.Error);
}
}
}

View File

@ -17,6 +17,9 @@ namespace Oqtane.Modules
[CascadingParameter]
protected Module ModuleState { get; set; }
[CascadingParameter]
protected ModuleInstance ModuleInstance { get; set; }
public virtual SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.View; } set { } } // default security
public virtual string Title { get { return ""; } }