Enable components to create new components
This commit is contained in:
@@ -20,6 +20,12 @@ public class ComponentFactory(IServiceProvider provider,
|
|||||||
|
|
||||||
builder.AddServices(services =>
|
builder.AddServices(services =>
|
||||||
{
|
{
|
||||||
|
services.AddTransient(_ =>
|
||||||
|
provider.GetRequiredService<IProxyServiceCollection<IComponentBuilder>>());
|
||||||
|
|
||||||
|
services.AddTransient(_ =>
|
||||||
|
provider.GetRequiredService<IComponentFactory>());
|
||||||
|
|
||||||
services.AddTransient(_ =>
|
services.AddTransient(_ =>
|
||||||
provider.GetRequiredService<IProxyService<IPublisher>>());
|
provider.GetRequiredService<IProxyService<IPublisher>>());
|
||||||
|
|
||||||
@@ -31,7 +37,7 @@ public class ComponentFactory(IServiceProvider provider,
|
|||||||
|
|
||||||
services.AddScoped(_ =>
|
services.AddScoped(_ =>
|
||||||
provider.GetRequiredService<INavigationRegionProvider>());
|
provider.GetRequiredService<INavigationRegionProvider>());
|
||||||
|
|
||||||
services.AddScoped(_ =>
|
services.AddScoped(_ =>
|
||||||
provider.GetRequiredService<IComponentScopeCollection>());
|
provider.GetRequiredService<IComponentScopeCollection>());
|
||||||
|
|
||||||
|
|||||||
@@ -53,10 +53,10 @@ public class DefaultHostBuilder :
|
|||||||
services.AddScoped<INavigation, Navigation>();
|
services.AddScoped<INavigation, Navigation>();
|
||||||
|
|
||||||
services.AddSingleton(new NamedComponent("Root"));
|
services.AddSingleton(new NamedComponent("Root"));
|
||||||
services.AddScoped<IComponentScopeCollection, ComponentScopeCollection>(provider => new ComponentScopeCollection
|
services.AddScoped<IComponentScopeCollection, ComponentScopeCollection>(provider =>
|
||||||
{
|
[
|
||||||
new ComponentScopeDescriptor("Root", provider.GetRequiredService<IServiceProvider>())
|
new ComponentScopeDescriptor("Root", provider.GetRequiredService<IServiceProvider>())
|
||||||
});
|
]);
|
||||||
|
|
||||||
services.AddTransient<IComponentFactory, ComponentFactory>();
|
services.AddTransient<IComponentFactory, ComponentFactory>();
|
||||||
services.AddTransient<IComponentScopeProvider, ComponentScopeProvider>();
|
services.AddTransient<IComponentScopeProvider, ComponentScopeProvider>();
|
||||||
|
|||||||
Reference in New Issue
Block a user