You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

68 line
2.6 KiB

  1. import {NgModule} from '@angular/core';
  2. import {Routes, RouterModule} from '@angular/router';
  3. import {HomeComponent} from './home';
  4. import {AuthGuard} from './_helpers';
  5. import {PartnersComponent} from "@app/partners/partners.component";
  6. import {TwoColumnComponent} from "@app/layout/two-column/two-column.component";
  7. import {PartnersDetailComponent} from "@app/partners/partners-detail/partners-detail.component";
  8. import {ProductsComponent} from "@app/products/products.component";
  9. import {ProductsDetailComponent} from "@app/products/products-detail/products-detail.component";
  10. import {DocumentsComponent} from "@app/documents/documents.component";
  11. const accountModule = () => import('./account/account.module').then(x => x.AccountModule);
  12. const usersModule = () => import('./users/users.module').then(x => x.UsersModule);
  13. const routes: Routes = [
  14. {path: '', component: HomeComponent, canActivate: [AuthGuard]},
  15. {path: 'users', loadChildren: usersModule, canActivate: [AuthGuard]},
  16. {path: 'account', loadChildren: accountModule},
  17. {
  18. path: 'customers',
  19. component: TwoColumnComponent,
  20. canActivate: [AuthGuard],
  21. children: [
  22. {path: '', component: PartnersComponent, data: {dataType: 'customer'}},
  23. {path: ':id', component: PartnersDetailComponent, data: {dataType: 'customer-detail'}},
  24. ]
  25. },
  26. {
  27. path: 'suppliers',
  28. component: TwoColumnComponent,
  29. canActivate: [AuthGuard],
  30. children: [
  31. {path: '', component: PartnersComponent, data: {dataType: 'supplier'}},
  32. {path: 'detail', component: PartnersDetailComponent, data: {dataType: 'supplier-detail'}},
  33. ]
  34. },
  35. {
  36. path: 'service',
  37. component: TwoColumnComponent,
  38. canActivate: [AuthGuard],
  39. children: [
  40. {path: '', component: PartnersComponent, data: {dataType: 'service'}},
  41. {path: 'detail', component: PartnersDetailComponent, data: {dataType: 'service-detail'}},
  42. ]
  43. },
  44. {
  45. path: 'products',
  46. component: TwoColumnComponent,
  47. canActivate: [AuthGuard],
  48. children: [
  49. {path: '', component: ProductsComponent, data: {dataType: 'product'}},
  50. {path: 'detail', component: ProductsDetailComponent, data: {dataType: 'product-detail'}},
  51. ]
  52. },
  53. {path: 'documents', component: DocumentsComponent, canActivate: [AuthGuard]},
  54. // otherwise redirect to home
  55. {path: '**', redirectTo: ''}
  56. ];
  57. @NgModule({
  58. imports: [RouterModule.forRoot(routes)],
  59. exports: [RouterModule]
  60. })
  61. export class AppRoutingModule {
  62. }