Make it possible to feed in options to the Enumerate handler

This commit is contained in:
TheXamlGuy
2024-05-05 20:43:17 +01:00
parent 605a0284b5
commit ead288ab52
11 changed files with 124 additions and 28 deletions
+16 -9
View File
@@ -4,14 +4,7 @@ using Toolkit.Foundation;
namespace Bitvault;
public partial class FilterVaultNavigationViewModel(IServiceProvider provider,
IServiceFactory factory,
IMediator mediator,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
string name) :
ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer),
public partial class FilterVaultNavigationViewModel : ObservableViewModel,
IVaultNavigationViewModel,
INotificationHandler<Vault<Activated>>,
INotificationHandler<Vault<Deactivated>>
@@ -19,9 +12,23 @@ public partial class FilterVaultNavigationViewModel(IServiceProvider provider,
[ObservableProperty]
private bool activated;
[ObservableProperty]
private string? filter;
[ObservableProperty]
private bool selected;
public FilterVaultNavigationViewModel(IServiceProvider provider,
IServiceFactory factory,
IMediator mediator,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
string? filter = null) : base(provider, factory, mediator, publisher, subscriber, disposer)
{
Filter = filter;
}
public Task Handle(Vault<Deactivated> args,
CancellationToken cancellationToken = default) =>
Task.FromResult(Activated = false);
@@ -31,5 +38,5 @@ public partial class FilterVaultNavigationViewModel(IServiceProvider provider,
Task.FromResult(Activated = true);
[RelayCommand]
public void Invoke() => Publisher.Publish(Vault.As(new Selected<string>(name)));
public async Task Invoke() => await Publisher.Publish(Vault.As(new Filter<string>(Filter)), nameof(VaultViewModel));
}