Refilter on search update

This commit is contained in:
Michael Bucari-Tovo 2022-12-31 18:41:55 -07:00
parent 6d7b3bd5f0
commit 28802c8279
5 changed files with 89 additions and 88 deletions

View file

@ -41,6 +41,7 @@ namespace LibationAvalonia.ViewModels
public ProductsDisplayViewModel()
{
SearchEngineCommands.SearchEngineUpdated += SearchEngineCommands_SearchEngineUpdated;
GridEntries = new(SOURCE);
GridEntries.Filter = CollectionFilter;
@ -164,7 +165,19 @@ namespace LibationAvalonia.ViewModels
var seriesFilteredIn = entries.SeriesEntries().Where(s => s.Children.Join(SearchResults.Docs, lbe => lbe.AudibleProductId, d => d.ProductId, (lbe, d) => lbe).Any());
return booksFilteredIn.Concat(seriesFilteredIn).ToList();
}
}
private async void SearchEngineCommands_SearchEngineUpdated(object sender, EventArgs e)
{
var filterResults = QueryResults(SOURCE, FilterString);
if (filterResults.Except(FilteredInGridEntries).Any())
{
FilteredInGridEntries = filterResults;
GridEntries.CommitEdit();
await Dispatcher.UIThread.InvokeAsync(GridEntries.Refresh);
}
}
#endregion