Skip to content
Snippets Groups Projects
app-routing.module.ts 3.77 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { NgModule } from '@angular/core';
    import { Routes, RouterModule } from '@angular/router';
    
    rhenck's avatar
    rhenck committed
    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';
    
      AdminComponentActivateGuard, AdminOrSuperAdminComponentActivateGuard,
    
      DirectLoginActivateGuard, GroupMonitorActivateGuard,
    
      RouteDispatcherActivateGuard, SuperAdminComponentActivateGuard, TestComponentActivateGuard
    
    } from './app-route-guards';
    
    rhenck's avatar
    rhenck committed
    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';
    
    mechtelm's avatar
    mechtelm committed
      {
        path: '',
        redirectTo: 'r/route-dispatcher',
        pathMatch: 'full'
      },
    
      {
        path: 'r',
        component: AppRootComponent,
    
          {
            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]
    
      {
        path: 'priv',
        component: PrivacyComponent
      },
      {
        path: 'check',
    
    paflov's avatar
    paflov committed
        loadChildren: () => import('./sys-check/sys-check.module').then(module => module.SysCheckModule)
    
    paflov's avatar
    paflov committed
        loadChildren: () => import('./workspace-admin/workspace.module').then(module => module.WorkspaceModule),
    
        canActivate: [AdminComponentActivateGuard]
      },
      {
        path: 'superadmin',
    
    paflov's avatar
    paflov committed
        loadChildren: () => import('./superadmin/superadmin.module').then(module => module.SuperadminModule),
    
        canActivate: [SuperAdminComponentActivateGuard]
      },
    
    paflov's avatar
    paflov committed
        loadChildren: () => import('./group-monitor/group-monitor.module').then(module => module.GroupMonitorModule)
    
        // canActivate: [GroupMonitorActivateGuard]
      },
    
    paflov's avatar
    paflov committed
        loadChildren: () => import('./test-controller/test-controller.module').then(module => module.TestControllerModule),
    
        canActivate: [TestComponentActivateGuard]
      },
    
      {
        path: '**',
        component: RouteDispatcherComponent,
        canActivate: [DirectLoginActivateGuard]
      }
    
    ];
    
    @NgModule({
      imports: [RouterModule.forRoot(routes)],
    
    mechtelm's avatar
    mechtelm committed
      exports: [RouterModule],
    
    rhenck's avatar
    rhenck committed
      providers: [RouteDispatcherActivateGuard, DirectLoginActivateGuard,
        CodeInputComponentActivateGuard, AdminComponentActivateGuard,
        SuperAdminComponentActivateGuard, TestComponentActivateGuard,
    
        AdminOrSuperAdminComponentActivateGuard
      ]