You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we have ShellNavigationManager for url-based navigation, but it has its own limitations:
Can be used with Shell only
Cannot pass arbitrary parameters, only the ones based on URL
Cannot be used with modals (we have ModalContainer for modals, but it's not very convenient)
I would suggest to add a service for navigation, which would allow to work with components:
interfaceINavigationService{
Task PushAsync<T>(Dictionary<string,object>arguments=null,boolanimated=true)whereT:IComponent;
Task PushModalAsync<T>(Dictionary<string,object>arguments=null,boolanimated=true)whereT:IComponent;// Optional, just for convenience (as you can do same now via NativeElement property)
Task PopToRootAsync(boolanimated=true);
Task PopModalAsync(boolanimated=true);
Task PopAsync(boolanimated=true);}
It would be great to design this service with extensibility in mind, so that I could, for example, add extension method ShowPopupAsync to display XCT's Popup.
Open questions:
How to name it to avoid confusion? We have ShellNavigationManager, we have NavigationManager from web Blazor, would NavigationService be fine?
Would it make any sense to merge it with existing ShellNavigationManager ?
Can I always use Application.Current.MainPage.Navigation to get INavigation?
Is there any Navigated event we could use to dispose the renderer when the page is closed?
The text was updated successfully, but these errors were encountered:
Currently we have ShellNavigationManager for url-based navigation, but it has its own limitations:
I would suggest to add a service for navigation, which would allow to work with components:
This way navigation would look smth like that:
It would be great to design this service with extensibility in mind, so that I could, for example, add extension method
ShowPopupAsync
to display XCT's Popup.Open questions:
The text was updated successfully, but these errors were encountered: