Newer
Older

Martin Mechtel
committed
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AppRootComponent } from './app-root/app-root.component';
import { LoginComponent } from './app-root/login/login.component';
import { SysCheckStarterComponent } from './app-root/sys-check-starter/sys-check-starter.component';
import { AdminStarterComponent } from './app-root/admin-starter/admin-starter.component';
import { CodeInputComponent } from './app-root/code-input/code-input.component';
import {
AdminComponentActivateGuard, AdminOrSuperAdminComponentActivateGuard,
CodeInputComponentActivateGuard,
DirectLoginActivateGuard, GroupMonitorActivateGuard,
RouteDispatcherActivateGuard, SuperAdminComponentActivateGuard, TestComponentActivateGuard
} from './app-route-guards';
import { TestStarterComponent } from './app-root/test-starter/test-starter.component';
import { RouteDispatcherComponent } from './app-root/route-dispatcher/route-dispatcher.component';
import { PrivacyComponent } from './app-root/privacy/privacy.component';
import { MonitorStarterComponent } from './app-root/monitor-starter/monitor-starter.component';

Martin Mechtel
committed
const routes: Routes = [
{
path: '',
redirectTo: 'r/route-dispatcher',
pathMatch: 'full'
},
{
path: 'r',
component: AppRootComponent,

mechtelm
committed
children: [
{
path: '',
redirectTo: 'route-dispatcher',
pathMatch: 'full'
},
{
path: 'login',
redirectTo: 'route-dispatcher',
pathMatch: 'full'
},
{
path: 'login/:returnTo',
component: LoginComponent
},
{
path: 'check-starter',
component: SysCheckStarterComponent
},
{
path: 'test-starter',
component: TestStarterComponent,
canActivate: [TestComponentActivateGuard]
},
{
path: 'admin-starter',
component: AdminStarterComponent,
canActivate: [AdminOrSuperAdminComponentActivateGuard]
},
{
path: 'route-dispatcher',
component: RouteDispatcherComponent,
canActivate: [RouteDispatcherActivateGuard]
},
{
path: 'code-input',
component: CodeInputComponent,
canActivate: [CodeInputComponentActivateGuard]
},
{
path: 'monitor-starter',
component: MonitorStarterComponent,
canActivate: [GroupMonitorActivateGuard]

mechtelm
committed
]
},
{
path: 'priv',
component: PrivacyComponent
},
{
path: 'check',
loadChildren: () => import('./sys-check/sys-check.module').then(module => module.SysCheckModule)
{
path: 'admin',
loadChildren: () => import('./workspace-admin/workspace.module').then(module => module.WorkspaceModule),
canActivate: [AdminComponentActivateGuard]
},
{
path: 'superadmin',
loadChildren: () => import('./superadmin/superadmin.module').then(module => module.SuperadminModule),
canActivate: [SuperAdminComponentActivateGuard]
},
{
path: 'gm',
loadChildren: () => import('./group-monitor/group-monitor.module').then(module => module.GroupMonitorModule)
// canActivate: [GroupMonitorActivateGuard]
},
{
path: 't',
loadChildren: () => import('./test-controller/test-controller.module').then(module => module.TestControllerModule),
canActivate: [TestComponentActivateGuard]
},
{
path: '**',
component: RouteDispatcherComponent,
canActivate: [DirectLoginActivateGuard]
}

Martin Mechtel
committed
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
providers: [RouteDispatcherActivateGuard, DirectLoginActivateGuard,
CodeInputComponentActivateGuard, AdminComponentActivateGuard,
SuperAdminComponentActivateGuard, TestComponentActivateGuard,
AdminOrSuperAdminComponentActivateGuard
]

Martin Mechtel
committed
})
export class AppRoutingModule { }