Improve LibrarySizeChanged performance
This commit is contained in:
parent
5f5c9f65ed
commit
47c9fcb883
@ -4,7 +4,6 @@ using DataLayer;
|
||||
using LibationFileManager;
|
||||
using ReactiveUI;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace LibationAvalonia.ViewModels
|
||||
@ -44,9 +43,6 @@ namespace LibationAvalonia.ViewModels
|
||||
|
||||
private void Configure_BackupCounts()
|
||||
{
|
||||
LibraryCommands.LibrarySizeChanged += async (object _, List<LibraryBook> libraryBooks)
|
||||
=> await SetBackupCountsAsync(libraryBooks);
|
||||
|
||||
//Pass null to the setup count to get the whole library.
|
||||
LibraryCommands.BookUserDefinedItemCommitted += async (_, _)
|
||||
=> await SetBackupCountsAsync(null);
|
||||
|
||||
@ -4,6 +4,7 @@ using LibationAvalonia.Views;
|
||||
using LibationFileManager;
|
||||
using ReactiveUI;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace LibationAvalonia.ViewModels
|
||||
{
|
||||
@ -38,7 +39,9 @@ namespace LibationAvalonia.ViewModels
|
||||
|
||||
private async void LibraryCommands_LibrarySizeChanged(object sender, List<LibraryBook> fullLibrary)
|
||||
{
|
||||
await ProductsDisplay.UpdateGridAsync(fullLibrary);
|
||||
await Task.WhenAll(
|
||||
SetBackupCountsAsync(fullLibrary),
|
||||
ProductsDisplay.UpdateGridAsync(fullLibrary));
|
||||
}
|
||||
|
||||
private static string menufyText(string header) => Configuration.IsMacOs ? header : $"_{header}";
|
||||
|
||||
@ -8,6 +8,7 @@ using ReactiveUI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace LibationAvalonia.Views
|
||||
{
|
||||
@ -60,13 +61,14 @@ namespace LibationAvalonia.Views
|
||||
filterSearchTb.Focus();
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task OnLibraryLoadedAsync(List<LibraryBook> initialLibrary)
|
||||
public async Task OnLibraryLoadedAsync(List<LibraryBook> initialLibrary)
|
||||
{
|
||||
if (QuickFilters.UseDefault)
|
||||
await ViewModel.PerformFilter(QuickFilters.Filters.FirstOrDefault());
|
||||
|
||||
await ViewModel.SetBackupCountsAsync(initialLibrary);
|
||||
await ViewModel.ProductsDisplay.BindToGridAsync(initialLibrary);
|
||||
await Task.WhenAll(
|
||||
ViewModel.SetBackupCountsAsync(initialLibrary),
|
||||
ViewModel.ProductsDisplay.BindToGridAsync(initialLibrary));
|
||||
}
|
||||
|
||||
public void ProductsDisplay_LiberateClicked(object _, LibraryBook libraryBook) => ViewModel.LiberateClicked(libraryBook);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user