uno.extensions icon indicating copy to clipboard operation
uno.extensions copied to clipboard

[Navigation] Why nested qualifier navigation happens on nested regions only?

Open xperiandri opened this issue 1 year ago • 0 comments

Current behavior

If you have

        routes.Register(
            new RouteMap("", View: views.FindByViewModel<ShellViewModel>(),
                Nested:
                [
                    new ("Main", View: views.FindByViewModel<MainViewModel>(), Nested: [
                            new ("Home", View: views.FindByViewModel<HomeViewModel>(), IsDefault: true, Nested: [
                                    new ("Info", IsDefault: true),
                                    new ("Details")
                                ]),
                            new ("Employees", View: views.FindByViewModel<EmployeesViewModel>()),
                            new ("Assets", View: views.FindByViewModel<AssetsViewModel>(), Nested : [
                                    new ("AddAsset", View: views.FindByViewModel<AddAssetViewModel>())
                                ]),
                        ]),
                    new ("Second", View: views.FindByViewModel<SecondViewModel>()),
                    //new ("Info", View: views.FindByViewModel<InfoViewModel>()),
                ]
            )
        );

and Main is a NavigationView if you call ./AddAsset from AsstesPage nothing happens. WHY? Why doesn't it navigate the frame to AddAssetPage?

See https://github.com/unoplatform/uno.extensions/blob/main/src/Uno.Extensions.Navigation.UI/Navigator.cs#L390

Expected behavior

Subroutes are navigated regardless of how they are structured (Visibility/Frame/ContentControl)

How to reproduce it (as minimally and precisely as possible)

Use https://github.com/Ecierge/uno.extensions/tree/ecierge Run testing\TestNavigation\TestNavigation\TestNavigation.csproj

Environment

Nuget Package (s): Uno.Extensions.Navigation

Package Version(s): man branch

Affected platform(s):

  • iOS
  • macOS (AppKit)
  • Mac Catalyst
  • Android
  • WebAssembly
  • Windows
  • Skia (WPF)
  • Skia (GTK on Linux/macOS/Windows)
  • Skia (Linux Framebuffer)

xperiandri avatar Jul 13 '24 19:07 xperiandri