import {NgModule} from '@angular/core'; import {Routes, RouterModule} from '@angular/router'; import {HomeComponent} from './home'; import {AuthGuard} from './_helpers'; import {PartnersComponent} from "@app/partners/partners.component"; import {TwoColumnComponent} from "@app/layout/two-column/two-column.component"; import {PartnersDetailComponent} from "@app/partners/partners-detail/partners-detail.component"; import {ProductsComponent} from "@app/products/products.component"; import {ProductsDetailComponent} from "@app/products/products-detail/products-detail.component"; import {DocumentsComponent} from "@app/documents/documents.component"; const accountModule = () => import('./account/account.module').then(x => x.AccountModule); const usersModule = () => import('./users/users.module').then(x => x.UsersModule); const routes: Routes = [ {path: '', component: HomeComponent, canActivate: [AuthGuard]}, {path: 'users', loadChildren: usersModule, canActivate: [AuthGuard]}, {path: 'account', loadChildren: accountModule}, { path: 'customers', component: TwoColumnComponent, canActivate: [AuthGuard], children: [ {path: '', component: PartnersComponent, data: {dataType: 'customer'}}, {path: ':id', component: PartnersDetailComponent, data: {dataType: 'customer-detail'}}, ] }, { path: 'suppliers', component: TwoColumnComponent, canActivate: [AuthGuard], children: [ {path: '', component: PartnersComponent, data: {dataType: 'supplier'}}, {path: 'detail', component: PartnersDetailComponent, data: {dataType: 'supplier-detail'}}, ] }, { path: 'service', component: TwoColumnComponent, canActivate: [AuthGuard], children: [ {path: '', component: PartnersComponent, data: {dataType: 'service'}}, {path: 'detail', component: PartnersDetailComponent, data: {dataType: 'service-detail'}}, ] }, { path: 'products', component: TwoColumnComponent, canActivate: [AuthGuard], children: [ {path: '', component: ProductsComponent, data: {dataType: 'product'}}, {path: 'detail', component: ProductsDetailComponent, data: {dataType: 'product-detail'}}, ] }, {path: 'documents', component: DocumentsComponent, canActivate: [AuthGuard]}, // otherwise redirect to home {path: '**', redirectTo: ''} ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule { }