8000 Fluent RouteMap Definition · Issue #2813 · unoplatform/uno.extensions · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Fluent RouteMap Definition #2813
Open
@kazo0

Description

@kazo0

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")
	)
);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0