Project

General

Profile

1
import {NgModule} from '@angular/core';
2
import {PreloadAllModules, RouterModule, Routes} from '@angular/router';
3
import {OpenaireErrorPageComponent} from './error/errorPage.component';
4
import {AdminLoginGuard} from "./openaireLibrary/login/adminLoginGuard.guard";
5
import {AdminDashboardGuard} from "./utils/adminDashboard.guard";
6
import {LoginGuard} from "./openaireLibrary/login/loginGuard.guard";
7

    
8
const routes: Routes = [
9
  {
10
    path: 'reload',
11
    loadChildren: './reload/libReload.module#LibReloadModule',
12
    data: {hasSidebar: false, hasHeader: false}
13
  },
14
  {
15
    path: 'user-info',
16
    loadChildren: './login/libUser.module#LibUserModule',
17
    data: {hasSidebar: false, isFrontPage: true}
18
  },
19
  {
20
    path: 'error',
21
    component: OpenaireErrorPageComponent,
22
    data: {hasSidebar: false, isFrontPage: true}
23
  },
24
  {
25
    path: 'admin',
26
    loadChildren: './manageStakeholders/manageStakeholders.module#ManageStakeholdersModule',
27
    data: {hasAdminMenu: true},
28
    canActivateChild: [LoginGuard]
29
  },
30
  {
31
    path: 'admin/admin-tools',
32
    loadChildren: './admin-tools/portal-admin-tools-routing.module#PortalAdminToolsRoutingModule',
33
    canActivateChild: [AdminLoginGuard],
34
    data: {hasAdminMenu: true}
35
  },
36
  {
37
    path: 'admin/monitor/admin-tools',
38
    loadChildren: './admin-tools/admin-tools-routing.module#AdminToolsRoutingModule',
39
    canActivateChild: [AdminLoginGuard],
40
    data: {hasAdminMenu: true, portal: 'monitor'}
41
  },
42
  {
43
    path: 'admin/:stakeholder',
44
    loadChildren: './admin-stakeholder/admin-stakeholder-routing.module#AdminStakeholderRoutingModule',
45
    canActivateChild: [AdminDashboardGuard]
46
  },
47
  {path: 'theme', loadChildren: './openaireLibrary/utils/theme/theme.module#ThemeModule'},
48
  {
49
    path: '',
50
    loadChildren: './monitor/monitor.module#MonitorModule',
51
    data: {isFrontPage: true}
52
  },
53
  {
54
    path: '**',
55
    pathMatch: 'full',
56
    component: OpenaireErrorPageComponent,
57
    data: {hasSidebar: false, hasAdminMenu: false, isFrontPage: true}
58
  }
59
];
60

    
61
@NgModule({
62
  imports: [RouterModule.forRoot(routes, {
63
    preloadingStrategy: PreloadAllModules,
64
    onSameUrlNavigation: "reload",
65
    relativeLinkResolution: 'corrected'
66
  })],
67
  exports: [RouterModule]
68
})
69
export class AppRoutingModule {
70
}
(1-1/4)