Improve filtering

This commit is contained in:
TheXamlGuy
2024-07-17 22:13:38 +01:00
parent 8dbaa17c0e
commit 3ec35a6d44
3 changed files with 9 additions and 5 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ public class ItemCreatedHandler(IServiceProvider serviceProvider,
IServiceFactory serviceFactory = serviceScope.ServiceProvider.GetRequiredService<IServiceFactory>();
IDecoratorService<Item<(Guid, string)>> decoratorService = serviceScope.ServiceProvider.GetRequiredService<IDecoratorService<Item<(Guid, string)>>>();
if (serviceFactory.Create<ItemNavigationViewModel>(args => args.Initialize(),
if (serviceFactory.Create<ItemNavigationViewModel>(args => args.Initialize(), "All",
id, name, "Description", category, true)
is ItemNavigationViewModel viewModel)
{
+7 -3
View File
@@ -3,9 +3,9 @@ using Toolkit.Foundation;
namespace Wallet;
[Notification(typeof(CreateEventArgs<ItemNavigationViewModel>), nameof(ItemNavigationCollectionViewModel))]
[Notification(typeof(InsertEventArgs<ItemNavigationViewModel>), nameof(ItemNavigationCollectionViewModel))]
[Notification(typeof(MoveToEventArgs<ItemNavigationViewModel>), nameof(ItemNavigationCollectionViewModel))]
[Notification(typeof(CreateEventArgs<ItemNavigationViewModel>), nameof(Filter))]
[Notification(typeof(InsertEventArgs<ItemNavigationViewModel>), nameof(Filter))]
[Notification(typeof(MoveToEventArgs<ItemNavigationViewModel>), nameof(Filter))]
[Notification(typeof(NotifyEventArgs<Search<string>>), nameof(ItemNavigationCollectionViewModel))]
public partial class ItemNavigationCollectionViewModel :
ObservableCollection<ItemNavigationViewModel>,
@@ -31,10 +31,14 @@ public partial class ItemNavigationCollectionViewModel :
{
Template = template;
Named = $"{named}";
Filter = filter;
this.configuration = configuration with { Filter = filter };
}
[ObservableProperty]
private string? filter;
public IContentTemplate Template { get; set; }
public Task Handle(NotifyEventArgs<Filter> args)
@@ -40,7 +40,7 @@ public class ItemNavigationCollectionViewModelActivatedHandler(IMediator mediato
decoratorService.Set(item);
cache.Add(item);
publisher.Publish(Create.As(viewModel), nameof(ItemNavigationCollectionViewModel));
publisher.Publish(Create.As(viewModel), configuration.Filter);
}
selected = false;