blob: c461bf97d1d912c1d79d31a01bc6f82f372e8804 [file] [log] [blame]
Sean Condona00bf382018-06-23 07:54:01 +01001/*
Sean Condon28ecc5f2018-06-25 12:50:16 +01002 * Copyright 2018-present Open Networking Foundation
Sean Condona00bf382018-06-23 07:54:01 +01003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16import { NgModule } from '@angular/core';
17import { Routes, RouterModule } from '@angular/router';
Sean Condonff85fbe2019-03-16 14:28:46 +000018import { Gui2TopoLibModule } from 'gui2-topo-lib';
Sean Condon87b78502018-09-17 20:53:24 +010019import { FmGui2LibModule } from 'fm-gui2-lib';
Boyuan Yan6b23b382019-06-04 11:59:35 -070020import { RoadmGuiLibModule } from 'roadm-gui-lib';
Sean Condona00bf382018-06-23 07:54:01 +010021
Sean Condon28ecc5f2018-06-25 12:50:16 +010022/**
23 * The set of Routes in the application - can be chosen from nav menu or
24 * elsewhere like tabular icon for flows etc
25 */
Sean Condona00bf382018-06-23 07:54:01 +010026const onosRoutes: Routes = [
27 {
Bhavesh72ead492018-07-19 16:29:18 +053028 path: 'app',
Sean Condona00bf382018-06-23 07:54:01 +010029 loadChildren: 'app/view/apps/apps.module#AppsModule'
30 },
31 {
prai9d445962018-07-27 13:27:43 +053032 path: 'processor',
33 loadChildren: 'app/view/processor/processor.module#ProcessorModule'
34 },
35 {
Bhavesh Kumard0b8bae2018-07-31 16:56:43 +053036 path: 'settings',
37 loadChildren: 'app/view/settings/settings.module#SettingsModule'
38 },
39 {
40 path: 'partition',
41 loadChildren: 'app/view/partition/partition.module#PartitionModule'
42 },
43 {
Priyanka H Mfa5b77a2018-07-27 12:43:44 +053044 path: 'cluster',
45 loadChildren: 'app/view/cluster/cluster.module#ClusterModule'
46 },
47 {
Bhavesh72ead492018-07-19 16:29:18 +053048 path: 'device',
Sean Condona00bf382018-06-23 07:54:01 +010049 loadChildren: 'app/view/device/device.module#DeviceModule'
50 },
51 {
Bhavesh72ead492018-07-19 16:29:18 +053052 path: 'link',
53 loadChildren: 'app/view/link/link.module#LinkModule'
54 },
55 {
56 path: 'host',
57 loadChildren: 'app/view/host/host.module#HostModule'
58 },
59 {
prai9d445962018-07-27 13:27:43 +053060 path: 'intent',
61 loadChildren: 'app/view/intent/intent.module#IntentModule'
62 },
63 {
Bhavesh72ead492018-07-19 16:29:18 +053064 path: 'tunnel',
65 loadChildren: 'app/view/tunnel/tunnel.module#TunnelModule'
66 },
67 {
68 path: 'flow',
69 loadChildren: 'app/view/flow/flow.module#FlowModule'
70 },
71 {
72 path: 'port',
73 loadChildren: 'app/view/port/port.module#PortModule'
74 },
75 {
76 path: 'group',
77 loadChildren: 'app/view/group/group.module#GroupModule'
78 },
79 {
80 path: 'meter',
81 loadChildren: 'app/view/meter/meter.module#MeterModule'
82 },
Sean Condonff85fbe2019-03-16 14:28:46 +000083 /* Comment out below section for running locally with 'ng serve' when developing */
Sean Condonf4f54a12018-10-10 23:25:46 +010084 {
Sean Condonaa4366d2018-11-02 14:29:01 +000085 path: 'topo2',
Sean Condonff85fbe2019-03-16 14:28:46 +000086 loadChildren: 'gui2-topo-lib#Gui2TopoLibModule'
Sean Condonf4f54a12018-10-10 23:25:46 +010087 },
Sean Condon87b78502018-09-17 20:53:24 +010088 {
89 path: 'alarmTable',
90 loadChildren: 'fm-gui2-lib#FmGui2LibModule'
91 },
Bhavesh72ead492018-07-19 16:29:18 +053092 {
Boyuan Yan6b23b382019-06-04 11:59:35 -070093 path: 'roadm-gui',
94 loadChildren: 'roadm-gui-lib#RoadmGuiLibModule'
95 },
96 {
Sean Condona00bf382018-06-23 07:54:01 +010097 path: '',
Sean Condon0c577f62018-11-18 22:40:05 +000098 redirectTo: 'topo2', // Default to Topology view
Sean Condona00bf382018-06-23 07:54:01 +010099 pathMatch: 'full'
100 }
101];
102
103/**
104 * ONOS GUI -- Main Routing Module - allows modules to be lazy loaded
105 *
106 * See https://angular.io/guide/lazy-loading-ngmodules
107 * for the theory of operation
108 */
109@NgModule({
110 imports: [
Sean Condon87b78502018-09-17 20:53:24 +0100111 RouterModule.forRoot(onosRoutes, { useHash : true })
Sean Condona00bf382018-06-23 07:54:01 +0100112 ],
113 exports: [RouterModule],
114 providers: []
115})
116export class OnosRoutingModule { }