From ae8d62ceb2004ecb51c9f4f3a550e9c1c12fe93c Mon Sep 17 00:00:00 2001 From: TheXamlGuy Date: Mon, 7 Oct 2024 14:42:04 +0100 Subject: [PATCH] Enable components to create new components --- Toolkit.Foundation/ComponentFactory.cs | 8 +++++++- Toolkit.Foundation/DefaultHostBuilder.cs | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Toolkit.Foundation/ComponentFactory.cs b/Toolkit.Foundation/ComponentFactory.cs index 2019c77..9402fb2 100644 --- a/Toolkit.Foundation/ComponentFactory.cs +++ b/Toolkit.Foundation/ComponentFactory.cs @@ -20,6 +20,12 @@ public class ComponentFactory(IServiceProvider provider, builder.AddServices(services => { + services.AddTransient(_ => + provider.GetRequiredService>()); + + services.AddTransient(_ => + provider.GetRequiredService()); + services.AddTransient(_ => provider.GetRequiredService>()); @@ -31,7 +37,7 @@ public class ComponentFactory(IServiceProvider provider, services.AddScoped(_ => provider.GetRequiredService()); - + services.AddScoped(_ => provider.GetRequiredService()); diff --git a/Toolkit.Foundation/DefaultHostBuilder.cs b/Toolkit.Foundation/DefaultHostBuilder.cs index b5e30d5..4cc1518 100644 --- a/Toolkit.Foundation/DefaultHostBuilder.cs +++ b/Toolkit.Foundation/DefaultHostBuilder.cs @@ -53,10 +53,10 @@ public class DefaultHostBuilder : services.AddScoped(); services.AddSingleton(new NamedComponent("Root")); - services.AddScoped(provider => new ComponentScopeCollection - { + services.AddScoped(provider => + [ new ComponentScopeDescriptor("Root", provider.GetRequiredService()) - }); + ]); services.AddTransient(); services.AddTransient();