import { NgModule } from '@angular/core'; import { RouterModule ,UrlSegment} from '@angular/router'; import { AuthGuard,FullScreenGuard } from '@farmmaps/common'; import { MapComponent } from '@farmmaps/common-map'; import { Switch2D3DComponent } from '@farmmaps/common-map3d'; import { LogoComponent } from './logo/logo.component'; import { MenuComponent } from './menu/menu.component'; import {RegisterDeviceComponent} from './registerdevice/registerdevice.component'; import {NotImplementedComponent} from '@farmmaps/common'; import { NavBarGuard } from 'projects/common/src/public-api'; export function urlMatcher(url: UrlSegment[]) { return {consumed:url}; } const routes = [ { path: '', component: LogoComponent, outlet: 'side-panel-logo' }, { path: '', component: MenuComponent, outlet: 'side-panel-menu' }, { path: '', redirectTo: 'map', pathMatch: 'full' }, { path:'editor/:type/item/:itemcode', canActivate:[NavBarGuard], component: NotImplementedComponent }, { path:'viewer/:type/item/:itemcode', canActivate:[NavBarGuard], component: NotImplementedComponent }, { path: 'map', canActivateChild: [AuthGuard],canActivate:[FullScreenGuard], children: [ { path: '', component: MapComponent }, { path: ':xCenter/:yCenter/:zoom/:rotation/:baseLayer/:queryState', component: MapComponent , children: [ { path:'', component: Switch2D3DComponent, outlet: 'map-controls' } ] }, { path: ':queryState', component: MapComponent } ]}, { path:'registerdevice/:deviceToken', canActivate:[FullScreenGuard], component:RegisterDeviceComponent } ]; @NgModule({ imports: [RouterModule.forRoot(routes, { initialNavigation: true })], // , enableTracing: true exports: [RouterModule] }) export class AppRoutingModule { }