46 lines
2.1 KiB
C#
46 lines
2.1 KiB
C#
using DevExpress.Blazor;
|
|
using DevExpress.Blazor.Internal;
|
|
|
|
namespace FruitBankHybrid.Shared.Extensions;
|
|
|
|
public static class DevexpressComponentExtensions
|
|
{
|
|
public static async Task ShowMessageBoxAsync(this IDialogService messageBox, string title, string text, MessageBoxRenderStyle messageBoxRenderStyle)
|
|
{
|
|
var messageBoxOptions = CreateMessageBoxOptions(title, text, messageBoxRenderStyle);
|
|
|
|
await messageBox.AlertAsync(messageBoxOptions);
|
|
}
|
|
|
|
/// <summary>Több-üzenetes messagebox: minden üzenet KÜLÖN SORBAN jelenik meg. A sima <c>Text</c>-be fűzött
|
|
/// sortörések a HTML-renderelésnél szóközzé olvadnának — a <c>CssClass</c> + a <c>white-space: pre-line</c>
|
|
/// szabály (app.css: <c>.fb-msgbox-multiline</c>) tartja meg őket. (A <c>MessageBoxOptions</c>-nek nincs
|
|
/// BodyTemplate-je, ezért CSS-megoldás.)</summary>
|
|
public static async Task ShowMessageBoxAsync(this IDialogService messageBox, string title, IReadOnlyCollection<string> lines, MessageBoxRenderStyle messageBoxRenderStyle)
|
|
{
|
|
// "• " prefix = lista-hatás (a MessageBoxOptions csak sima szöveget tud, <ul>/<li> nem lehetséges).
|
|
var messageBoxOptions = CreateMessageBoxOptions(title, string.Join(Environment.NewLine, lines.Select(l => $"• {l}")), messageBoxRenderStyle);
|
|
messageBoxOptions.CssClass = "fb-msgbox-multiline";
|
|
|
|
await messageBox.AlertAsync(messageBoxOptions);
|
|
}
|
|
|
|
public static async Task<bool> ShowConfirmBoxAsync(this IDialogService messageBox, string title, string text, MessageBoxRenderStyle messageBoxRenderStyle)
|
|
{
|
|
var messageBoxOptions = CreateMessageBoxOptions(title, text, messageBoxRenderStyle);
|
|
|
|
return await messageBox.ConfirmAsync(messageBoxOptions);
|
|
}
|
|
|
|
private static MessageBoxOptions CreateMessageBoxOptions(string title, string text, MessageBoxRenderStyle messageBoxRenderStyle)
|
|
{
|
|
var messageBoxOptions = new MessageBoxOptions
|
|
{
|
|
Title = title,
|
|
Text = text,
|
|
RenderStyle = messageBoxRenderStyle,
|
|
ShowIcon = false
|
|
};
|
|
return messageBoxOptions;
|
|
}
|
|
} |