Show children

This commit is contained in:
2022-04-15 00:13:22 +02:00
parent efe2090c6d
commit 84522d8f96
21 changed files with 591 additions and 366 deletions

View File

@@ -10,6 +10,7 @@ namespace FileTime.Core.Models
FullName Path { get; }
AbsolutePathType Type { get; }
Task<IItem> ResolveAsync();
Task<IItem> ResolveAsync(bool forceResolve = false);
Task<IItem?> ResolveAsyncSafe(bool forceResolve = false);
}
}

View File

@@ -2,7 +2,7 @@ namespace FileTime.Core.Models
{
public interface IContainer : IItem
{
IObservable<IReadOnlyList<IAbsolutePath>> Items { get; }
IObservable<IEnumerable<IAbsolutePath>?> Items { get; }
IObservable<bool> IsLoading { get; }
}
}

View File

@@ -18,5 +18,6 @@ namespace FileTime.Core.Models
IContentProvider Provider { get; }
string? Attributes { get; }
AbsolutePathType Type { get; }
IObservable<IEnumerable<Exception>> Exceptions { get; }
}
}

View File

@@ -1,12 +1,13 @@
using FileTime.Core.Behaviors;
using FileTime.Core.Enums;
using FileTime.Core.Models;
namespace FileTime.Core.Services
{
public interface IContentProvider : IContainer, IOnContainerEnter
{
Task<IItem> GetItemByFullNameAsync(FullName fullName);
Task<IItem> GetItemByNativePathAsync(NativePath nativePath);
Task<IItem> GetItemByFullNameAsync(FullName fullName, bool forceResolve = false, AbsolutePathType forceResolvePathType = AbsolutePathType.Unknown);
Task<IItem> GetItemByNativePathAsync(NativePath nativePath, bool forceResolve = false, AbsolutePathType forceResolvePathType = AbsolutePathType.Unknown);
Task<List<IAbsolutePath>> GetItemsByContainerAsync(FullName fullName);
}
}

View File

@@ -1,6 +1,5 @@
using FileTime.Core.Models;
using InitableService;
using System.Reactive.Subjects;
namespace FileTime.Core.Services
{
@@ -8,7 +7,7 @@ namespace FileTime.Core.Services
{
IObservable<IContainer?> CurrentLocation { get; }
IObservable<IAbsolutePath?> CurrentSelectedItem { get; }
IObservable<IEnumerable<IItem>> CurrentItems { get; }
IObservable<IEnumerable<IItem>?> CurrentItems { get; }
void SetCurrentLocation(IContainer newLocation);
void AddSelectedItemsTransformator(ItemsTransformator transformator);