@namespace Oqtane.UI @inject IStringLocalizer Localizer @DynamicComponent @if (_progressindicator) {
} @code { private string _message; private MessageType _messagetype; private bool _progressindicator = false; [CascadingParameter] protected PageState PageState { get; set; } [CascadingParameter] private Module ModuleState { get; set; } private ModuleMessage ModuleMessage { get; set; } private RenderFragment DynamicComponent { get; set; } protected override void OnParametersSet() { DynamicComponent = builder => { Type moduleType = null; if (!string.IsNullOrEmpty(ModuleState.ModuleType)) { moduleType = Type.GetType(ModuleState.ModuleType); if (moduleType != null) { builder.OpenComponent(0, moduleType); builder.CloseComponent(); } else { // module does not exist with typename specified _message = string.Format(Localizer["Error.Module.InvalidName"], Utilities.GetTypeNameLastSegment(ModuleState.ModuleType, 0)); _messagetype = MessageType.Error; } } else { _message = string.Format(Localizer["Error.Module.InvalidType"], ModuleState.ModuleDefinitionName); _messagetype = MessageType.Error; } }; } public void AddModuleMessage(string message, MessageType type) { _message = message; _messagetype = type; _progressindicator = false; StateHasChanged(); } public void ShowProgressIndicator() { _progressindicator = true; StateHasChanged(); } public void HideProgressIndicator() { _progressindicator = false; StateHasChanged(); } }