Files
Walleby/Bitvault/MaskedTextEntryViewModelHandler.cs
T
2024-06-08 23:46:19 +01:00

27 lines
979 B
C#

using Toolkit.Foundation;
namespace Bitvault;
public class MaskedTextEntryViewModelHandler(IServiceFactory serviceFactory) :
IHandler<CreateEventArgs<MaskedTextEntryConfiguration>, IItemEntryViewModel?>
{
public Task<IItemEntryViewModel?> Handle(CreateEventArgs<MaskedTextEntryConfiguration> args,
CancellationToken cancellationToken)
{
if (args.Value is MaskedTextEntryConfiguration configuration)
{
string? label = configuration.Label;
object? value = configuration.Value ?? "";
double? width = configuration.Width;
if (serviceFactory.Create<MaskedTextEntryViewModel>([.. args.Parameters, configuration, configuration.Pattern, label, value, width])
is MaskedTextEntryViewModel viewModel)
{
return Task.FromResult<IItemEntryViewModel?>(viewModel);
}
}
return Task.FromResult<IItemEntryViewModel?>(default);
}
}