Browse Source

Temporary refactor the ui message service

pull/5740/head
Halil İbrahim Kalkan 6 years ago
parent
commit
de34016642
  1. 22
      framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiMessageService.cs
  2. 82
      framework/src/Volo.Abp.BlazoriseUI/Components/UiMessageAlert.razor.cs

22
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<AbpUiResource> _localizer;
public ILogger<BlazoriseUiMessageService> Logger { get; set; }
public BlazoriseUiMessageService(UiMessageNotifierService uiMessageNotifierService)
public BlazoriseUiMessageService(
UiMessageNotifierService uiMessageNotifierService,
IStringLocalizer<AbpUiResource> localizer)
{
this.uiMessageNotifierService = uiMessageNotifierService;
_localizer = localizer;
Logger = NullLogger<BlazoriseUiMessageService>.Instance;
}
public Task InfoAsync(string message, string title = null, UiMessageOptions options = null)
public Task InfoAsync(string message, string title = null, Action<UiMessageOptions> 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);

82
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<bool> 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<bool> 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; }
}
}

Loading…
Cancel
Save