Inner scope navigation
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Hyperbar.Widget.Windows;
|
||||
|
||||
public class WidgetSettingsNavigationViewModelEnumerator(IPublisher publisher,
|
||||
IWidgetHostCollection widgetHosts) :
|
||||
INotificationHandler<Enumerate<WidgetSettingsNavigationViewModel>>
|
||||
{
|
||||
public async Task Handle(Enumerate<WidgetSettingsNavigationViewModel> args,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
foreach (IWidgetHost host in widgetHosts)
|
||||
{
|
||||
if (host.Services.GetService<IServiceFactory>() is IServiceFactory serviceFactory)
|
||||
{
|
||||
await publisher.PublishAsync(new Create<WidgetSettingsNavigationViewModel>(serviceFactory
|
||||
.Create<WidgetSettingsNavigationViewModel>(host.Configuration.Name)),
|
||||
nameof(WidgetNavigationViewModel), cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user