Inner scope navigation

This commit is contained in:
TheXamlGuy
2024-02-13 22:11:29 +00:00
parent 6e738becd4
commit 9fe2317c4f
30 changed files with 189 additions and 130 deletions
@@ -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);
}
}
}
}