wip item images
This commit is contained in:
@@ -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>();
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user