diff --git a/framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiMessageService.cs b/framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiMessageService.cs index 70643069be..c9f4b39a04 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiMessageService.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiMessageService.cs @@ -1,4 +1,7 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; +using Localization.Resources.AbpUi; +using Microsoft.Extensions.Localization; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.AspNetCore.Components.WebAssembly; @@ -10,21 +13,34 @@ namespace Volo.Abp.BlazoriseUI public class BlazoriseUiMessageService : IUiMessageService, IScopedDependency { private readonly UiMessageNotifierService uiMessageNotifierService; + private readonly IStringLocalizer _localizer; public ILogger Logger { get; set; } - public BlazoriseUiMessageService(UiMessageNotifierService uiMessageNotifierService) + public BlazoriseUiMessageService( + UiMessageNotifierService uiMessageNotifierService, + IStringLocalizer localizer) { this.uiMessageNotifierService = uiMessageNotifierService; + _localizer = localizer; Logger = NullLogger.Instance; } - public Task InfoAsync(string message, string title = null, UiMessageOptions options = null) + public Task InfoAsync(string message, string title = null, Action optionsActions = null) { + var options = CreateDefaultOptions(); + optionsActions?.Invoke(options); return uiMessageNotifierService.NotifyMessageReceivedAsync(UiMessageType.Info, message, title, options); } + protected virtual UiMessageOptions CreateDefaultOptions() + { + return new UiMessageOptions { + ConfirmButtonText = _localizer["Yes"] + }; + } + public Task SuccessAsync(string message, string title = null, UiMessageOptions options = null) { return uiMessageNotifierService.NotifyMessageReceivedAsync(UiMessageType.Success, message, title, options); diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/UiMessageAlert.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/UiMessageAlert.razor.cs index 7dada11bd3..afedc0a866 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/UiMessageAlert.razor.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/UiMessageAlert.razor.cs @@ -9,11 +9,50 @@ namespace Volo.Abp.BlazoriseUI.Components { public partial class UiMessageAlert : ComponentBase, IDisposable { - protected override void OnInitialized() + protected virtual string MessageIconStyle { - UiMessageNotifierService.MessageReceived += OnMessageReceived; + get + { + var sb = new StringBuilder(); + + sb.Append($"color:{MessageIconColor}"); + + return sb.ToString(); + } + } + + protected virtual string OkButtonText + => Options?.OkButtonText ?? "OK"; + + protected virtual string ConfirmButtonText + => Options?.ConfirmButtonText ?? "Confirm"; + + protected virtual string CancelButtonText + => Options?.CancelButtonText ?? "Cancel"; + [Parameter] public UiMessageType MessageType { get; set; } + + [Parameter] public string Title { get; set; } + + [Parameter] public string Message { get; set; } + + [Parameter] public TaskCompletionSource Callback { get; set; } + + [Parameter] public UiMessageOptions Options { get; set; } + + [Parameter] public EventCallback Okayed { get; set; } // TODO: ? + + [Parameter] public EventCallback Confirmed { get; set; } + + [Parameter] public EventCallback Canceled { get; set; } + + [Inject] protected UiMessageNotifierService UiMessageNotifierService { get; set; } + + protected override void OnInitialized() + { base.OnInitialized(); + + UiMessageNotifierService.MessageReceived += OnMessageReceived; } private void OnMessageReceived(object sender, UiMessageEventArgs e) @@ -94,44 +133,5 @@ namespace Volo.Abp.BlazoriseUI.Components UiMessageType.Confirmation => "var(--b-theme-secondary, var(--secondary, #6c757d))", _ => null, }; - - protected virtual string MessageIconStyle - { - get - { - var sb = new StringBuilder(); - - sb.Append($"color:{MessageIconColor}"); - - return sb.ToString(); - } - } - - protected virtual string OkButtonText - => Options?.OkButtonText ?? "OK"; - - protected virtual string ConfirmButtonText - => Options?.ConfirmButtonText ?? "Confirm"; - - protected virtual string CancelButtonText - => Options?.CancelButtonText ?? "Cancel"; - - [Parameter] public UiMessageType MessageType { get; set; } - - [Parameter] public string Title { get; set; } - - [Parameter] public string Message { get; set; } - - [Parameter] public TaskCompletionSource Callback { get; set; } - - [Parameter] public UiMessageOptions Options { get; set; } - - [Parameter] public EventCallback Okayed { get; set; } // TODO: ? - - [Parameter] public EventCallback Confirmed { get; set; } - - [Parameter] public EventCallback Canceled { get; set; } - - [Inject] protected UiMessageNotifierService UiMessageNotifierService { get; set; } } }