MOBILE-4616: Document routing modules
parent
92cc64734b
commit
19a9fe11be
|
@ -73,6 +73,7 @@ const mainMenuRoutes: Routes = [
|
|||
),
|
||||
];
|
||||
|
||||
// Single Activity format navigation.
|
||||
const courseContentsRoutes: Routes = conditionalRoutes(
|
||||
[
|
||||
{
|
||||
|
|
|
@ -219,6 +219,9 @@ export function resolveModuleRoutes(injector: Injector, token: InjectionToken<Mo
|
|||
|
||||
export const APP_ROUTES = new InjectionToken('APP_ROUTES');
|
||||
|
||||
/**
|
||||
* Module used to register routes at the root of the application.
|
||||
*/
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forRoot([]),
|
||||
|
|
|
@ -28,6 +28,10 @@ export function resolveContentsRoutes(injector: Injector): ModuleRoutes {
|
|||
return resolveModuleRoutes(injector, COURSE_CONTENTS_ROUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Module used to register routes in the course contents page. These are routes that will only be used on
|
||||
* single activity courses where the activity uses split-view navigation in tablets, such as forum or glossary.
|
||||
*/
|
||||
@NgModule()
|
||||
export class CoreCourseContentsRoutingModule {
|
||||
|
||||
|
|
|
@ -28,6 +28,16 @@ export function resolveIndexRoutes(injector: Injector): ModuleRoutes {
|
|||
return resolveModuleRoutes(injector, COURSE_INDEX_ROUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Module used to register routes in the main course page. These are routes that will appear as tabs in the main page of a course,
|
||||
* and they must also be declared in a CoreCourseOptionsHandler or in plugins using the CoreCourseOptionsDelegate.
|
||||
*
|
||||
* Some examples of routes registered in this module are:
|
||||
* - /main/{tab}/course/{courseId}/contents
|
||||
* - /main/{tab}/course/{courseId}/participants
|
||||
* - /main/{tab}/course/{courseId}/grades
|
||||
* - ...
|
||||
*/
|
||||
@NgModule()
|
||||
export class CoreCourseIndexRoutingModule {
|
||||
|
||||
|
|
|
@ -28,6 +28,15 @@ export function resolveHomeRoutes(injector: Injector): ModuleRoutes {
|
|||
return resolveModuleRoutes(injector, MAIN_MENU_HOME_ROUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Module used to register routes in the home main menu tab. These are routes that will appear as tabs in the home page,
|
||||
* and they must also be declared in a CoreMainMenuHomeHandler or in plugins using the CoreMainMenuHomeDelegate.
|
||||
*
|
||||
* Some examples of routes registered in this module are:
|
||||
* - /main/home/dashboard
|
||||
* - /main/home/site
|
||||
* - ...
|
||||
*/
|
||||
@NgModule()
|
||||
export class CoreMainMenuHomeRoutingModule {
|
||||
|
||||
|
|
|
@ -28,6 +28,16 @@ export function resolveMainMenuRoutes(injector: Injector): ModuleRoutes {
|
|||
return resolveModuleRoutes(injector, MAIN_MENU_ROUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Module used to register routes in the main menu tab. These are routes that will appear as tabs in the main menu (or overflow
|
||||
* into the more page), and they must also be declared in a CoreMainMenuHandler or in plugins using the CoreMainMenuDelegate.
|
||||
*
|
||||
* Some examples of routes registered in this module are:
|
||||
* - /main/calendar
|
||||
* - /main/messages
|
||||
* - /main/notifications
|
||||
* - ...
|
||||
*/
|
||||
@NgModule()
|
||||
export class CoreMainMenuRoutingModule {
|
||||
|
||||
|
|
|
@ -42,15 +42,19 @@ export function buildTabMainRoutes(injector: Injector, mainRoute: Route): Routes
|
|||
return [mainRoute, ...routes.siblings];
|
||||
}
|
||||
|
||||
/**
|
||||
* Module used to register children routes for all main menu tabs. These are routes that can be navigated within any tab in the
|
||||
* main menu, but will remain within the navigation stack of the tab rather than overriding the main menu or moving to another tab.
|
||||
*
|
||||
* Some examples of routes registered in this module are:
|
||||
* - /main/{tab}/user
|
||||
* - /main/{tab}/badges
|
||||
* - /main/{tab}/mod_forum
|
||||
* - ...
|
||||
*/
|
||||
@NgModule()
|
||||
export class CoreMainMenuTabRoutingModule {
|
||||
|
||||
/**
|
||||
* Use this function to declare routes that will be children of all main menu tabs root routes.
|
||||
*
|
||||
* @param routes Routes to be children of main menu tabs.
|
||||
* @returns Calculated module.
|
||||
*/
|
||||
static forChild(routes: ModuleRoutesConfig): ModuleWithProviders<CoreMainMenuTabRoutingModule> {
|
||||
return {
|
||||
ngModule: CoreMainMenuTabRoutingModule,
|
||||
|
|
|
@ -28,6 +28,16 @@ export function resolveSiteRoutes(injector: Injector): ModuleRoutes {
|
|||
return resolveModuleRoutes(injector, SITE_PREFERENCES_ROUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Module used to register routes in the site preferences page. These are routes that must also be declared in a
|
||||
* CoreSettingsHandler or in plugins using the CoreSettingsDelegate.
|
||||
*
|
||||
* Some examples of routes registered in this module are:
|
||||
* - /main/{tab}/preferences/storage
|
||||
* - /main/{tab}/preferences/messages
|
||||
* - /main/{tab}/preferences/notifications
|
||||
* - ...
|
||||
*/
|
||||
@NgModule()
|
||||
export class CoreSitePreferencesRoutingModule {
|
||||
|
||||
|
|
Loading…
Reference in New Issue