@namespace Oqtane.Modules.Controls @inherits ModuleControlBase @inject NavigationManager NavigationManager @if (!string.IsNullOrEmpty(Message)) { @if (_action == "Alert") { } @if (_action == "Toast") {
} } @code { private string _message = string.Empty; private string _classname = string.Empty; private string _action = string.Empty; [Parameter] public string Message { get; set; } [Parameter] public MessageType Type { get; set; } [Parameter] public string Action { get; set; } // Alert (default) or Toast [Parameter] public RenderModeBoundary Parent { get; set; } protected override void OnParametersSet() { _message = Message; if (!string.IsNullOrEmpty(_message)) { _classname = GetMessageType(Type); _action = Action; if (string.IsNullOrEmpty(_action)) _action = "Toast"; // default if (Type == MessageType.Error) { _action = "Alert"; // errors should always be displayed as alerts } } } private string GetMessageType(MessageType type) { string classname = string.Empty; switch (type) { case MessageType.Success: classname = "alert alert-success"; break; case MessageType.Info: classname = "alert alert-info"; break; case MessageType.Warning: classname = "alert alert-warning"; break; case MessageType.Error: classname = "alert alert-danger"; break; } return classname; } private void CloseMessage() { if (Parent != null) { Parent.DismissMessage(); } else { NavigationManager.NavigateTo(NavigationManager.Uri); } } }