Skip to content

[dev-v5] Migrate Toast component #4190

@MarvinKlein1508

Description

@MarvinKlein1508

FluentToast

Design: https://storybooks.fluentui.dev/react/?path=/docs/components-toast--docs

🔹ToastService, IToastService

  • ClearAsync(): Task
  • ShowToastAsync<TComponent>(ToastOptions): Task<ToastResult>
  • ShowToastAsync<TComponent>(Action<ToastOptions>): Task<ToastResult>

Extra

  • ShowInfoAsync(message: string): Task<ToastResult>
  • ShowInfoAsync(message: string, link: string): Task<ToastResult>
  • ShowSuccessAsync(message: string): Task<ToastResult>
  • ShowSuccessAsync(message: string, link: string): Task<ToastResult>
  • ShowWarningAsync(message: string): Task<ToastResult>
  • ShowWarningAsync(message: string, link: string): Task<ToastResult>
  • ShowErrorAsync(message: string): Task<ToastResult>
  • ShowErrorAsync(message: string, link: string): Task<ToastResult>

🔹ToastOptions

  • Position: ToastPosition
  • CloseButton: bool
  • Timeout: int
  • OnStateChange: Action<ToastEventArgs>
  • Parameters: IDictionary<string, object>
  • Intent: ToastIntent
  • IFluentComponentBase properties (Class, Style, Margin, Padding, ...)

Example

var result = await ToastService.ShowToastAsync<DebugToastContent>(options =>
{
    options.Parameters.Add("Name", "John");
    options.OnStateChange = (e) =>
    {
        Console.WriteLine($"State changed: {e.State}");
    };
});

if (result.Cancelled)
{
    Console.WriteLine($"Toast Canceled: {result.Value}");
}
else
{
    Console.WriteLine($"Toast Confirmed: {result.Value}");
}

🔹ToastInstance, IToastInstance

Properties

  • Id: string
  • Index: long
  • Options: ToastOptions
  • Result: ToastResult

Methods

  • CancelAsync()
  • CloseAsync()
  • CloseAsync(ToastResult)
  • CloseAsync<TResult>()

🔹ToastResult

Properties

  • Value: TContent
  • Cancelled: bool

🔹ToastEventArgs

Properties

  • Id: string
  • State: DialogState
  • Instance: IToastInstance

🔹FluentToastProvider

Parameters

  • Position: ToastPosition
  • Timeout: int
  • MaxToastCount: int
  • RemoveToastsOnNavigation: bool
  • OffsetHorizontal: string
  • OffsetVertical: string

Metadata

Metadata

Assignees

Labels

v5For the next major version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions