|
- import {NgModule} from '@angular/core';
- import {Routes, RouterModule} from '@angular/router';
- import {ProfileComponent} from "@app/_views/profile/profile.component";
- import {UserDetailComponent} from "@app/_views/user/user-detail/user-detail.component";
- import {userGuard} from "@app/_guards/user.guard";
- import {adminGuard} from "@app/_guards/admin.guard";
- import {UsersComponent} from "@app/_views/user/users.component";
- import {TwoColumnComponent} from "@app/_components/layout/two-column/two-column.component";
- import {DashboardComponent} from "@app/_views/dashboard/dashboard.component";
- import {BaseDataComponent} from "@app/_views/base-data/base-data.component";
- import {LocationDetailComponent} from "@app/_views/location/location-detail/location-detail.component";
- import {ZoneDetailComponent} from "@app/_views/zone/zone-detail/zone-detail.component";
- import {VesselDetailComponent} from "@app/_views/vessel/vessel-detail/vessel-detail.component";
- import {
- ShippingCompanyDetailComponent
- } from "@app/_views/shipping-company/shipping-company-detail/shipping-company-detail.component";
- import {TripComponent} from "@app/_views/trip/trip.component";
- import {TripDetailComponent} from "@app/_views/trip/trip-detail/trip-detail.component";
- import {UserTripComponent} from "@app/_views/user-trip/user-trip.component";
- import {UserTripDetailComponent} from "@app/_views/user-trip/user-trip-detail/user-trip-detail.component";
-
- const accountModule = () => import('@app/_views/account/account.module').then(x => x.AccountModule);
-
- export const ROUTE_DASHBOARD = 'dashboard';
- export const ROUTE_BASE_DATA = 'base-data';
- export const ROUTE_LOCATIONS = 'locations';
- export const ROUTE_SHIPPING_COMPANIES = 'shipping-companies';
- export const ROUTE_TRIPS = 'trips';
- export const ROUTE_USER_TRIPS = 'user-trips';
- export const ROUTE_PROFILE = 'profile';
- export const ROUTE_USERS = 'users';
- export const ROUTE_VESSELS = 'vessels';
- export const ROUTE_ZONES = 'zones';
-
- const routes: Routes = [
- {
- path: 'account',
- loadChildren:
- accountModule
- },
- {
- path: ROUTE_DASHBOARD,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: '', component: DashboardComponent},
- ]
- },
- {
- path: ROUTE_BASE_DATA,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: '', component: BaseDataComponent},
- ]
- },
- {
- path: ROUTE_LOCATIONS,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: ':id', component: LocationDetailComponent},
- ]
- },
- {
- path: ROUTE_TRIPS,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: '', component: TripComponent},
- ]
- },
- {
- path: ROUTE_TRIPS,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: ':id', component: TripDetailComponent},
- ]
- },
- {
- path: ROUTE_USER_TRIPS,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: '', component: UserTripComponent},
- ]
- },
- {
- path: ROUTE_USER_TRIPS,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: ':id', component: UserTripDetailComponent},
- ]
- },
- {
- path: ROUTE_ZONES,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: ':id', component: ZoneDetailComponent},
- ]
- },
- {
- path: ROUTE_VESSELS,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: ':id', component: VesselDetailComponent},
- ]
- },
- {
- path: ROUTE_SHIPPING_COMPANIES,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: ':id', component: ShippingCompanyDetailComponent},
- ]
- },
- {
- path: ROUTE_PROFILE,
- component: TwoColumnComponent,
- canActivate: [userGuard],
- children: [
- {path: '', component: ProfileComponent},
- ]
- },
- {
- path: ROUTE_USERS,
- component: TwoColumnComponent,
- canActivate: [userGuard, adminGuard],
- children: [
- {path: '', component: UsersComponent},
- {path: ':id', component: UserDetailComponent},
- ]
- },
- // otherwise redirect to home
- {
- path: '**',
- redirectTo: ROUTE_DASHBOARD
- }
- ];
-
- @NgModule({
- imports: [RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})],
- exports: [RouterModule]
- })
- export class AppRoutingModule {
- }
|