Home page carousel
[eliot.git] / blueprints / common / eliot-ui / frontend-src / src / app / app-routing.module.ts
index d2b3185..9ee4fec 100644 (file)
 import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
+import { Routes, RouterModule, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
 import { HomeComponent } from './home/home.component';
 import { NodesComponent } from './nodes/nodes.component';
 import { PodsComponent } from './pods/pods.component';
 import { ServicesComponent } from './services/services.component';
 import { DeploymentsComponent } from './deployments/deployments.component';
 import { ReplicaComponent } from './replica/replica.component';
+import { LoginComponent } from './login/login.component';
+import { SignupComponent } from './signup/signup.component';
+
+import { DescriptionComponent } from './description/description.component';
+import { HistoryComponent } from './history/history.component';
+import { TerminalComponent } from './terminal/terminal.component';
+import { UninstallComponent } from './uninstall/uninstall.component';
+
+import { AuthGuard } from './_services/AuthGuard';
+import { Terminal } from 'xterm';
+import { DashboardComponent } from './dashboard/dashboard.component';
+
 
 
 const routes: Routes = [
 
   {
-    path: 'home',
+    path: '',
     component: HomeComponent
+    // canActivate: [AuthGuard]
   },
   {
     path: 'nodes',
     component: NodesComponent
+    // canActivate: [AuthGuard]
   },
   {
     path: 'pods',
-    component: PodsComponent
+    component: PodsComponent,
+    // canActivate: [AuthGuard]
   },
   {
     path: 'services',
-    component: ServicesComponent
+    component: ServicesComponent,
+    // canActivate: [AuthGuard]
   },
   {
     path: 'deployments',
     component: DeploymentsComponent
+    // canActivate: [AuthGuard]
   },
   {
     path: 'replica',
-    component: ReplicaComponent
+    component: ReplicaComponent,
+    canActivate: [AuthGuard]
+  },
+  {
+    path: 'login',
+    component: LoginComponent
+  },
+  {
+    path: 'signup',
+    component: SignupComponent,
+  },
+  {
+    path: 'describe',
+    component: DescriptionComponent
+    // canActivate: [AuthGuard]
+  },
+  {
+    path: 'history',
+    component: HistoryComponent
+    // canActivate: [AuthGuard]
+  },
+  {
+    path: 'terminal',
+    component: TerminalComponent
+    // canActivate: [AuthGuard]
+  },
+  {
+    path: 'uninstall',
+    component: UninstallComponent
+    // canActivate: [AuthGuard]
+  },
+  {
+    path: 'akrainowiki',
+    component: HomeComponent,
+    resolve: {
+      url: 'externalUrlRedirectResolver'
+    },
+    data: {
+      externalUrl: 'https://wiki.akraino.org/display/AK/ELIOT%3A+Edge+Lightweight+and+IoT+Blueprint+Family?src=contextnavpagetreemode'
+    }
+  },
+  {
+    path: 'graphana',
+    component: HomeComponent,
+    resolve: {
+      url: 'externalUrlRedirectResolver'
+    },
+    data: {
+      externalUrl: 'http://localhost:3000/'
+    }
+  },
+  {
+    path: 'dashboard',
+    component: DashboardComponent,
+    // canActivate: [AuthGuard]
+  },
+  {
+    path: '**',
+    redirectTo: ''
   }
 ];
 
 @NgModule({
-  imports: [RouterModule.forRoot(routes)],
-  exports: [RouterModule]
+  imports: [RouterModule.forRoot(routes, {
+    scrollPositionRestoration: 'enabled'
+  })],
+  exports: [RouterModule],
+  providers: [
+    {
+        provide: 'externalUrlRedirectResolver',
+        useValue: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) =>
+        {
+            // window.location.href = (route.data as any).externalUrl;
+            window.open((route.data as any).externalUrl);
+            debugger;
+            console.log(route.url);
+            route.url[0].path="";
+
+        }
+    }
+]
 })
 export class AppRoutingModule { }