code sweep

This commit is contained in:
Daniel Clark
2022-12-10 16:11:07 +00:00
parent 4f243eba2e
commit 0da4a37173
84 changed files with 2040 additions and 2104 deletions
@@ -2,37 +2,37 @@
using Avalonia.Controls.Primitives;
using FluentAvalonia.UI.Controls;
using Mediator;
using Toolkit.Framework.Foundation;
namespace Toolkit.Foundation.Avalonia
namespace Toolkit.Foundation.Avalonia;
public class NavigateBackHandler : IRequestHandler<NavigateBack>
{
public class NavigateBackHandler : IRequestHandler<NavigateBack>
private readonly INavigationRouteDescriptorCollection descriptors;
public NavigateBackHandler(INavigationRouteDescriptorCollection descriptors)
{
private readonly INavigationRouteDescriptorCollection descriptors;
this.descriptors = descriptors;
}
public NavigateBackHandler(INavigationRouteDescriptorCollection descriptors)
public ValueTask<Unit> Handle(NavigateBack request, CancellationToken cancellationToken)
{
if (descriptors.FirstOrDefault(x => request.Route is string { } name && name == x.Name) is NavigationRouteDescriptor descriptor)
{
this.descriptors = descriptors;
}
public ValueTask<Unit> Handle(NavigateBack request, CancellationToken cancellationToken)
{
if (descriptors.FirstOrDefault(x => request.Route is string { } name && name == x.Name) is NavigationRouteDescriptor descriptor)
if (descriptor.Route is ContentControl { Content: TemplatedControl content })
{
if (descriptor.Route is ContentControl { Content: TemplatedControl content })
if (content.DataContext is IDisposable disposable)
{
if (content.DataContext is IDisposable disposable)
{
disposable.Dispose();
}
}
if (descriptor.Route is Frame frame)
{
frame.GoBack();
disposable.Dispose();
}
}
return default;
if (descriptor.Route is Frame frame)
{
frame.GoBack();
}
}
return default;
}
}
}