Open
Description
Have a fluent style of building RouteMaps
Example of current RouteMaps
routes.Register(
new RouteMap("", View: views.FindByViewModel<ShellModel>(),
Nested: new RouteMap[]
{
new RouteMap("Welcome", View: views.FindByViewModel<WelcomeModel>()),
new RouteMap("Login", View: views.FindByViewModel<LoginModel>()),
new RouteMap("Register", View: views.FindByViewModel<RegistrationModel>()),
new RouteMap("Main", View: views.FindByViewModel<MainModel>(), Nested:
[
#region Main Tabs
new RouteMap("Home", View: views.FindByViewModel<HomeModel>(), IsDefault: true),
new RouteMap("Search", View: views.FindByViewModel<SearchModel>()),
new RouteMap("FavoriteRecipes", View: views.FindByViewModel<FavoriteRecipesModel>()),
#endregion
new RouteMap("CookbookDetails", View: views.FindByViewModel<CookbookDetailModel>()),
new RouteMap("UpdateCookbook", View: views.FindByViewModel<CreateUpdateCookbookModel>()),
new RouteMap("CreateCookbook", View: views.FindByViewModel<CreateUpdateCookbookModel>()),
new RouteMap("RecipeDetails", View: views.FindByViewModel<RecipeDetailsModel>()),
new RouteMap("LiveCooking", View: views.FindByViewModel<LiveCookingModel>()),
new RouteMap("Map", View: views.FindByViewModel<MapModel>()),
])
}
)
);
Might look something like:
// routes : IRouteRegistry
routes.Register<ShellModel>("", Nested: rootBuilder => rootBuilder
.Add<WelcomeModel>("Welcome")
.Add<LoginModel>("Login", resultData: typeof(Credentials))
.Add<RegistrationModel>("Register")
.Add<MainModel>("Main", Nested: mainBuilder => mainBuilder
.Add<HomeModel>("Home", isDefault: true)
.Add<SearchModel>("Search")
.Add<FavoriteRecipesModel>("FavoriteRecipes")
.Add<CookbookDetailModel>("CookbookDetails", data: new DataMap<Cookbook>())
.Add<CreateUpdateCookbookModel>("UpdateCookbook", data: new DataMap<Cookbook>())
.Add<CreateUpdateCookbookModel>("CreateCookbook", data: new DataMap<Cookbook>())
.Add<RecipeDetailsModel>("RecipeDetails", data: new DataMap<Recipe>())
.Add<LiveCookingModel>("LiveCooking", data: new DataMap<LiveCookingParameter>())
.Add<MapModel>("Map")
)
);