20 lines
984 B
Plaintext
20 lines
984 B
Plaintext
@inject ToastService Toasts
|
|
@inject IFileSaveService FileSaveService
|
|
@code {
|
|
[Parameter] public FileOperationResult? Result { get; set; }
|
|
private FileOperationResult? previous;
|
|
protected override void OnParametersSet()
|
|
{
|
|
if (Result == null || ReferenceEquals(previous, Result)) return;
|
|
previous = Result;
|
|
var result = Result;
|
|
Toasts.Show(result.Message + (result.Path != null ? " " + result.Path : ""),
|
|
result.Status == FileOperationStatus.Error ? ToastKind.Error : result.Status == FileOperationStatus.Success ? ToastKind.Success : ToastKind.Info,
|
|
result.Details, result.Path != null ? "Ordner öffnen" : null,
|
|
result.Path != null ? async () => {
|
|
var opened = await FileSaveService.OpenFolderAsync(result.Path);
|
|
Toasts.Show(opened.Message, opened.Status == FileOperationStatus.Error ? ToastKind.Error : ToastKind.Info, opened.Details);
|
|
} : null);
|
|
}
|
|
}
|