Use SourceCache, set SelectedItem and scroll to it

This commit is contained in:
2022-05-25 08:52:07 +02:00
parent d94d198344
commit 06f79ddfa9
14 changed files with 112 additions and 53 deletions

View File

@@ -41,7 +41,7 @@ public static class DynamicDataExtensions
}
public static async Task<IEnumerable<AbsolutePath>?> GetItemsAsync(
this IObservable<IObservable<IChangeSet<AbsolutePath>>?> stream)
this IObservable<IObservable<IChangeSet<AbsolutePath, string>>?> stream)
=> await GetItemsAsync(stream
.Select(s =>
s is null
@@ -50,7 +50,7 @@ public static class DynamicDataExtensions
.Switch());
public static async Task<IEnumerable<AbsolutePath>?> GetItemsAsync(
this IObservable<IChangeSet<AbsolutePath>> stream)
this IObservable<IChangeSet<AbsolutePath, string>> stream)
=> await GetItemsAsync(stream.ToCollection());
private static Task<IEnumerable<AbsolutePath>?> GetItemsAsync(

View File

@@ -4,6 +4,6 @@ namespace FileTime.Core.Models;
public interface IContainer : IItem
{
IObservable<IObservable<IChangeSet<AbsolutePath>>?> Items { get; }
IObservable<IObservable<IChangeSet<AbsolutePath, string>>?> Items { get; }
IObservable<bool> IsLoading { get; }
}

View File

@@ -8,7 +8,7 @@ public interface ITab : IInitable<IContainer>, IDisposable
{
IObservable<IContainer?> CurrentLocation { get; }
IObservable<AbsolutePath?> CurrentSelectedItem { get; }
IObservable<IObservable<IChangeSet<IItem>>?> CurrentItems { get; }
IObservable<IObservable<IChangeSet<IItem, string>>?> CurrentItems { get; }
FullName? LastDeepestSelectedPath { get; }
void SetCurrentLocation(IContainer newLocation);