22 lines
609 B
C#
22 lines
609 B
C#
namespace Toolkit.Foundation;
|
|
|
|
|
|
public class SelectFoldersHandler(IFolderProvider folderProvider) :
|
|
IAsyncHandler<SelectionEventArgs<FolderFilter>, IReadOnlyCollection<string>?>
|
|
{
|
|
public async Task<IReadOnlyCollection<string>?> Handle(SelectionEventArgs<FolderFilter> args,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
if (args.Sender is FolderFilter filter)
|
|
{
|
|
if (await folderProvider.SelectFolders(filter)
|
|
is { Count: > 0 } folders)
|
|
{
|
|
return folders;
|
|
}
|
|
}
|
|
|
|
return default;
|
|
}
|
|
}
|