diff --git a/src/Uno.Extensions.Navigation.UI/Navigator.cs b/src/Uno.Extensions.Navigation.UI/Navigator.cs
index 00e6af4387..5aa42f94c2 100644
--- a/src/Uno.Extensions.Navigation.UI/Navigator.cs
+++ b/src/Uno.Extensions.Navigation.UI/Navigator.cs
@@ -154,13 +154,21 @@ await RedirectForDependsOn(request, rm) is { } dependsNavResponse)
// where request needs to be sent to parent so that all child
// regions receive the request)
// Required for Test: Given_NavigationView.When_NavigationView
- if (await CanNavigate(request.Route) &&
- !await ParentCanNavigate(request.Route))
+ var canNavigate = await CanNavigate(request.Route);
+ //var parentCanNavigate = request.Route.Base == "ChefsRecipeDetails" ? false : await ParentCanNavigate(request.Route);
+ var parentCanNavigate = await ParentCanNavigate(request.Route);
+ if (canNavigate &&
+ !parentCanNavigate)
{
if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTraceMessage($"No redirection - Navigator can handle request (and parent cannot)");
return default;
}
+ //if (canNavigate)
+ //{
+ // if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTraceMessage($"Navigator can handle request - navigating");
+ // return default;
+ //}
// If this is a back/close with no other path, then return
// as if this navigator can handl it - it can't, so the request
diff --git a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesModel.cs b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesModel.cs
index 5a50c50c78..68dc9e10ff 100644
--- a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesModel.cs
+++ b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesModel.cs
@@ -6,6 +6,6 @@ public partial class ChefsFavoriteRecipesModel(INavigator navigator)
{
public async ValueTask NavigateToRecipeDetail()
{
- await navigator.NavigateRouteAsync(this, "ChefsFavoriteRecipeDetails", data: new ChefsRecipe { Name = "Favorite Page" });
+ await navigator.NavigateRouteAsync(this, "/ChefsRoot/ChefsFavoriteRecipes/ChefsRecipeDetails", data: new ChefsRecipe { Name = "Favorite Page" });
}
}
diff --git a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesPage.xaml b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesPage.xaml
index a5bae446ec..5650f8598b 100644
--- a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesPage.xaml
+++ b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsFavoriteRecipesPage.xaml
@@ -35,7 +35,7 @@
VerticalAlignment="Center"
Text="All my recipes" />
+
diff --git a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsHostInit.cs b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsHostInit.cs
index 7f4a725781..620f3a581d 100644
--- a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsHostInit.cs
+++ b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsHostInit.cs
@@ -42,55 +42,40 @@ protected override void RegisterRoutes(IViewRegistry views, IRouteRegistry route
new RouteMap("ChefsRoot", View: views.FindByViewModel(), Nested: new RouteMap[]
{
#region Main Tabs
- new RouteMap("ChefsHome", View: views.FindByViewModel(), IsDefault: true),
- new RouteMap("ChefsSearch", View: views.FindByViewModel()),
- new RouteMap("ChefsFavoriteRecipes", View: views.FindByViewModel()),
+ //new RouteMap("ChefsHome", View: views.FindByViewModel(), IsDefault: true),
+ //new RouteMap("ChefsSearch", View: views.FindByViewModel()),
+ //new RouteMap("ChefsFavoriteRecipes", View: views.FindByViewModel()),
#endregion
#region Cookbooks
- new RouteMap("ChefsCookbookDetails", View: views.FindByViewModel(), DependsOn: "FavoriteRecipes"),
- new RouteMap("ChefsUpdateCookbook", View: views.FindByViewModel(), DependsOn: "FavoriteRecipes"),
- new RouteMap("ChefsCreateCookbook", View: views.FindByViewModel(), DependsOn: "FavoriteRecipes"),
+ //new RouteMap("ChefsCookbookDetails", View: views.FindByViewModel(), DependsOn: "FavoriteRecipes"),
+ //new RouteMap("ChefsUpdateCookbook", View: views.FindByViewModel(), DependsOn: "FavoriteRecipes"),
+ //new RouteMap("ChefsCreateCookbook", View: views.FindByViewModel(), DependsOn: "FavoriteRecipes"),
#endregion
#region Recipe Details
- new RouteMap("ChefsRecipeDetails", View: views.FindByViewModel(), DependsOn: "ChefsHome", Nested: new[] {
- new RouteMap("ChefsIngredientsTabWide"),
- new RouteMap("ChefsStepsTabWide"),
- new RouteMap("ChefsReviewsTabWide"),
- new RouteMap("ChefsNutritionTabWide"),
- new RouteMap("ChefsIngredientsTab"),
- new RouteMap("ChefsStepsTab"),
- new RouteMap("ChefsReviewsTab"),
- new RouteMap("ChefsNutritionTab"),
- }),
- new RouteMap("ChefsSearchRecipeDetails", View: views.FindByViewModel(), DependsOn: "ChefsSearch"),
- new RouteMap("ChefsFavoriteRecipeDetails", View: views.FindByViewModel(), DependsOn: "ChefsFavoriteRecipes"),
- new RouteMap("ChefsCookbookRecipeDetails", View: views.FindByViewModel(), DependsOn: "ChefsFavoriteRecipes"),
+ //new RouteMap("ChefsRecipeDetails", View: views.FindByViewModel(), DependsOn: "ChefsHome"),
#endregion
#region Live Cooking
- new RouteMap("ChefsLiveCooking", View: views.FindByViewModel(), DependsOn: "ChefsRecipeDetails"),
- new RouteMap("ChefsSearchLiveCooking", View: views.FindByViewModel(), DependsOn: "ChefsSearchRecipeDetails"),
- new RouteMap("ChefsFavoriteLiveCooking", View: views.FindByViewModel(), DependsOn: "ChefsFavoriteRecipeDetails"),
- new RouteMap("ChefsCookbookLiveCooking", View: views.FindByViewModel(), DependsOn: "ChefsCookbookRecipeDetails"),
+ //new RouteMap("ChefsLiveCooking", View: views.FindByViewModel()),
#endregion
- new RouteMap("ChefsMap", View: views.FindByViewModel(), DependsOn: "ChefsHome"),
+ //new RouteMap("ChefsMap", View: views.FindByViewModel(), DependsOn: "ChefsHome"),
}),
- new RouteMap("ChefsNotifications", View: views.FindByViewModel(), Nested: new RouteMap[]
- {
- new RouteMap("ChefsAllTab"),
- new RouteMap("ChefsUnreadTab"),
- new RouteMap("ChefsReadTab"),
- }),
- new RouteMap("ChefsFilter", View: views.FindByViewModel()),
- new RouteMap("ChefsReviews", View: views.FindByViewModel()),
- new RouteMap("ChefsProfile", View: views.FindByViewModel()),
- new RouteMap("ChefsSettings", View: views.FindByViewModel(), DependsOn: "ChefsProfile"),
- new RouteMap("ChefsCompleted", View: views.FindByView()),
- new RouteMap("ChefsMap", View: views.FindByViewModel(), DependsOn: "ChefsMain"),
- new RouteMap("ChefsDialog", View: views.FindByView())
+ //new RouteMap("ChefsNotifications", View: views.FindByViewModel(), Nested: new RouteMap[]
+ //{
+ // new RouteMap("ChefsAllTab"),
+ // new RouteMap("ChefsUnreadTab"),
+ // new RouteMap("ChefsReadTab"),
+ //}),
+ //new RouteMap("ChefsFilter", View: views.FindByViewModel()),
+ //new RouteMap("ChefsReviews", View: views.FindByViewModel()),
+ //new RouteMap("ChefsProfile", View: views.FindByViewModel()),
+ //new RouteMap("ChefsSettings", View: views.FindByViewModel(), DependsOn: "ChefsProfile"),
+ //new RouteMap("ChefsCompleted", View: views.FindByView()),
+ //new RouteMap("ChefsMap", View: views.FindByViewModel(), DependsOn: "ChefsMain"),
+ //new RouteMap("ChefsDialog", View: views.FindByView())
}
)
);
diff --git a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsRecipeDetailsModel.cs b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsRecipeDetailsModel.cs
index e8ca269f2b..6779ff5bc9 100644
--- a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsRecipeDetailsModel.cs
+++ b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsRecipeDetailsModel.cs
@@ -11,15 +11,6 @@ public partial class ChefsRecipeDetailsModel(ChefsRecipe recipe, INavigator navi
public async ValueTask LiveCooking()
{
- var route = _navigator?.Route?.Base switch
- {
- "ChefsRecipeDetails" => "ChefsLiveCooking",
- "ChefsSearchRecipeDetails" => "ChefsSearchLiveCooking",
- "ChefsFavoriteRecipeDetails" => "ChefsFavoriteLiveCooking",
- "ChefsCookbookRecipeDetails" => "ChefsCookbookLiveCooking",
- _ => throw new InvalidOperationException("Navigating from unknown route")
- };
-
- await _navigator.NavigateRouteAsync(this, route, data: new ChefsLiveCookingParameter(Recipe, ImmutableList.Empty));
+ await _navigator.NavigateRouteAsync(this, "ChefsLiveCooking", data: new ChefsLiveCookingParameter(Recipe, ImmutableList.Empty));
}
}
diff --git a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsSearchModel.cs b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsSearchModel.cs
index a67ae624a1..f50782ee4b 100644
--- a/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsSearchModel.cs
+++ b/testing/TestHarness/TestHarness/Ext/Navigation/Apps/Chefs/ChefsSearchModel.cs
@@ -6,6 +6,6 @@ public partial class ChefsSearchModel(INavigator navigator)
{
public async ValueTask NavigateToRecipeDetail()
{
- await navigator.NavigateRouteAsync(this, "ChefsSearchRecipeDetails", data: new ChefsRecipe { Name = "Search Page" });
+ await navigator.NavigateRouteAsync(this, "ChefsRecipeDetails", data: new ChefsRecipe { Name = "Search Page" });
}
}