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
|
@namespace Oqtane.Modules.Controls
|
||||||
@inherits ModuleBase
|
@inherits ModuleBase
|
||||||
|
|
||||||
@if (Message != "")
|
@if (!string.IsNullOrEmpty(message))
|
||||||
{
|
{
|
||||||
<div class="@type">@Message</div>
|
<div class="@classname" role="alert">@message</div>
|
||||||
<br />
|
<br /><br />
|
||||||
<br />
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
@ -15,24 +14,39 @@
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public MessageType Type { get; set; }
|
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:
|
case MessageType.Success:
|
||||||
type = "alert alert-success";
|
classname = "alert alert-success";
|
||||||
break;
|
break;
|
||||||
case MessageType.Info:
|
case MessageType.Info:
|
||||||
type = "alert alert-info";
|
classname = "alert alert-info";
|
||||||
break;
|
break;
|
||||||
case MessageType.Warning:
|
case MessageType.Warning:
|
||||||
type = "alert alert-warning";
|
classname = "alert alert-warning";
|
||||||
break;
|
break;
|
||||||
case MessageType.Error:
|
case MessageType.Error:
|
||||||
type = "alert alert-danger";
|
classname = "alert alert-danger";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
return classname;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,17 +6,13 @@
|
|||||||
@inject HttpClient http
|
@inject HttpClient http
|
||||||
@inject SiteState sitestate
|
@inject SiteState sitestate
|
||||||
|
|
||||||
<ModuleMessage Message="@message" />
|
|
||||||
|
|
||||||
@((MarkupString)content)
|
@((MarkupString)content)
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<ActionLink Action="Edit" />
|
<ActionLink Action="Edit" />
|
||||||
<br />
|
<br /><br />
|
||||||
<br />
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
string message = "";
|
|
||||||
string content;
|
string content;
|
||||||
|
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
@ -32,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
message = ex.Message;
|
ModuleInstance.AddModuleMessage(ex.Message, MessageType.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -17,6 +17,9 @@ namespace Oqtane.Modules
|
|||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
protected Module ModuleState { get; set; }
|
protected Module ModuleState { get; set; }
|
||||||
|
|
||||||
|
[CascadingParameter]
|
||||||
|
protected ModuleInstance ModuleInstance { get; set; }
|
||||||
|
|
||||||
public virtual SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.View; } set { } } // default security
|
public virtual SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.View; } set { } } // default security
|
||||||
|
|
||||||
public virtual string Title { get { return ""; } }
|
public virtual string Title { get { return ""; } }
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
@namespace Oqtane.Shared
|
@namespace Oqtane.Shared
|
||||||
|
|
||||||
|
<CascadingValue Value="this">
|
||||||
|
<ModuleMessage @ref="modulemessage" />
|
||||||
@DynamicComponent
|
@DynamicComponent
|
||||||
|
</CascadingValue>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
@ -9,6 +12,8 @@
|
|||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private Module ModuleState { get; set; }
|
private Module ModuleState { get; set; }
|
||||||
|
|
||||||
|
private ModuleMessage modulemessage { get; set; }
|
||||||
|
|
||||||
RenderFragment DynamicComponent { get; set; }
|
RenderFragment DynamicComponent { get; set; }
|
||||||
|
|
||||||
protected override void OnParametersSet()
|
protected override void OnParametersSet()
|
||||||
@ -33,10 +38,13 @@
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// module does not exist with typename specified
|
// module does not exist with typename specified
|
||||||
builder.OpenComponent(0, Type.GetType(Constants.ModuleMessageControl));
|
modulemessage.SetModuleMessage("Error Loading Component For Module " + ModuleState.ModuleDefinitionName, MessageType.Error);
|
||||||
builder.AddAttribute(1, "Message", "Error Loading Component For Module " + ModuleState.ModuleDefinitionName);
|
|
||||||
builder.CloseComponent();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddModuleMessage(string message, MessageType type)
|
||||||
|
{
|
||||||
|
modulemessage.SetModuleMessage(message, type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,7 @@ namespace Oqtane.Server
|
|||||||
public class Startup
|
public class Startup
|
||||||
{
|
{
|
||||||
public IConfigurationRoot Configuration { get; }
|
public IConfigurationRoot Configuration { get; }
|
||||||
|
|
||||||
public Startup(IWebHostEnvironment env)
|
public Startup(IWebHostEnvironment env)
|
||||||
{
|
{
|
||||||
var builder = new ConfigurationBuilder()
|
var builder = new ConfigurationBuilder()
|
||||||
@ -329,6 +330,8 @@ namespace Oqtane.Server
|
|||||||
// register custom claims principal factory for role claims
|
// register custom claims principal factory for role claims
|
||||||
services.AddTransient<IUserClaimsPrincipalFactory<IdentityUser>, ClaimsPrincipalFactory<IdentityUser>>();
|
services.AddTransient<IUserClaimsPrincipalFactory<IdentityUser>, ClaimsPrincipalFactory<IdentityUser>>();
|
||||||
|
|
||||||
|
// register singleton scoped core services
|
||||||
|
services.AddSingleton<IConfigurationRoot>(Configuration);
|
||||||
services.AddSingleton<IInstallationManager, InstallationManager>();
|
services.AddSingleton<IInstallationManager, InstallationManager>();
|
||||||
|
|
||||||
// install any modules or themes
|
// install any modules or themes
|
||||||
|
Reference in New Issue
Block a user