wip item images

This commit is contained in:
TheXamlGuy
2024-07-01 21:41:13 +01:00
parent 7788259055
commit 757d938081
3 changed files with 7 additions and 14 deletions
-1
View File
@@ -4,7 +4,6 @@ using Toolkit.Foundation;
namespace Toolkit.Avalonia; namespace Toolkit.Avalonia;
public class FileProvider(ITopLevelProvider topLevelProvider) : public class FileProvider(ITopLevelProvider topLevelProvider) :
IFileProvider IFileProvider
{ {
@@ -151,6 +151,9 @@ public static class IServiceCollectionExtensions
services.AddTransient((Func<IServiceProvider, IProxyServiceCollection<IComponentBuilder>>)(provider => services.AddTransient((Func<IServiceProvider, IProxyServiceCollection<IComponentBuilder>>)(provider =>
new ProxyServiceCollection<IComponentBuilder>(services => new ProxyServiceCollection<IComponentBuilder>(services =>
{ {
services.AddTransient<ITopLevelProvider, TopLevelProvider>();
services.AddTransient<IFileProvider, FileProvider>();
services.AddTransient<IImageReader, ImageReader>(); services.AddTransient<IImageReader, ImageReader>();
services.AddTransient<IImageWriter, ImageWriter>(); services.AddTransient<IImageWriter, ImageWriter>();
services.AddTransient<IImageResizer, ImageResizer>(); services.AddTransient<IImageResizer, ImageResizer>();
+4 -13
View File
@@ -1,21 +1,12 @@
namespace Toolkit.Foundation; namespace Toolkit.Foundation;
public class ContentFactory(IMediator mediator, public class ContentFactory(IServiceProvider provider,
IServiceProvider provider,
IServiceFactory factory) : IContentFactory IServiceFactory factory) : IContentFactory
{ {
public async Task<object?> CreateAsync(IContentTemplateDescriptor descriptor, public Task<object?> CreateAsync(IContentTemplateDescriptor descriptor,
object[] parameters) object[] parameters)
{ {
Type createEventType = typeof(CreateEventArgs<>).MakeGenericType(descriptor.ContentType); object? content = parameters is { Length: > 0 }
object? content = null;
if (Activator.CreateInstance(createEventType, [null, parameters]) is object createEvent)
{
content = await mediator.Handle(descriptor.ContentType, createEvent, descriptor.Key);
}
content ??= parameters is { Length: > 0 }
? factory.Create(descriptor.ContentType, args => ? factory.Create(descriptor.ContentType, args =>
{ {
if (args is IInitialization initialization) if (args is IInitialization initialization)
@@ -31,6 +22,6 @@ public class ContentFactory(IMediator mediator,
} }
}, descriptor.Key); }, descriptor.Key);
return content; return Task.FromResult<object?>(content);
} }
} }