Fixed issue in client-side Blazor, added ModuleMessage to ModuleInstance
This commit is contained in:
parent
3af2ca0168
commit
07c00765ac
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 ""; } }
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
@namespace Oqtane.Shared
|
||||
|
||||
@DynamicComponent
|
||||
<CascadingValue Value="this">
|
||||
<ModuleMessage @ref="modulemessage" />
|
||||
@DynamicComponent
|
||||
</CascadingValue>
|
||||
|
||||
@code {
|
||||
[CascadingParameter]
|
||||
|
@ -9,6 +12,8 @@
|
|||
[CascadingParameter]
|
||||
private Module ModuleState { get; set; }
|
||||
|
||||
private ModuleMessage modulemessage { get; set; }
|
||||
|
||||
RenderFragment DynamicComponent { get; set; }
|
||||
|
||||
protected override void OnParametersSet()
|
||||
|
@ -32,11 +37,14 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
// module does not exist with typename specified
|
||||
builder.OpenComponent(0, Type.GetType(Constants.ModuleMessageControl));
|
||||
builder.AddAttribute(1, "Message", "Error Loading Component For Module " + ModuleState.ModuleDefinitionName);
|
||||
builder.CloseComponent();
|
||||
// module does not exist with typename specified
|
||||
modulemessage.SetModuleMessage("Error Loading Component For Module " + ModuleState.ModuleDefinitionName, MessageType.Error);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public void AddModuleMessage(string message, MessageType type)
|
||||
{
|
||||
modulemessage.SetModuleMessage(message, type);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ namespace Oqtane.Server
|
|||
public class Startup
|
||||
{
|
||||
public IConfigurationRoot Configuration { get; }
|
||||
|
||||
public Startup(IWebHostEnvironment env)
|
||||
{
|
||||
var builder = new ConfigurationBuilder()
|
||||
|
@ -329,6 +330,8 @@ namespace Oqtane.Server
|
|||
// register custom claims principal factory for role claims
|
||||
services.AddTransient<IUserClaimsPrincipalFactory<IdentityUser>, ClaimsPrincipalFactory<IdentityUser>>();
|
||||
|
||||
// register singleton scoped core services
|
||||
services.AddSingleton<IConfigurationRoot>(Configuration);
|
||||
services.AddSingleton<IInstallationManager, InstallationManager>();
|
||||
|
||||
// install any modules or themes
|
||||
|
|
Loading…
Reference in New Issue
Block a user