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