blob: fc8375d46f812d5807813b9e77f3c9fd6fa92f02 [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 */
Sean Condon50e61a62019-12-19 14:28:06 +000016import {NgModule} from '@angular/core';
17import {Routes, RouterModule} from '@angular/router';
18import {Gui2TopoLibModule} from 'gui2-topo-lib';
19import {FmGui2LibModule} from 'fm-gui2-lib';
20import {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 Condon50e61a62019-12-19 14:28:06 +000083 {
84 path: 'pipeconf',
85 loadChildren: 'app/view/pipeconf/pipeconf.module#PipeconfModule'
86 },
Sean Condonff85fbe2019-03-16 14:28:46 +000087 /* Comment out below section for running locally with 'ng serve' when developing */
Sean Condonf4f54a12018-10-10 23:25:46 +010088 {
Sean Condonaa4366d2018-11-02 14:29:01 +000089 path: 'topo2',
Sean Condonff85fbe2019-03-16 14:28:46 +000090 loadChildren: 'gui2-topo-lib#Gui2TopoLibModule'
Sean Condonf4f54a12018-10-10 23:25:46 +010091 },
Sean Condon87b78502018-09-17 20:53:24 +010092 {
93 path: 'alarmTable',
94 loadChildren: 'fm-gui2-lib#FmGui2LibModule'
95 },
Bhavesh72ead492018-07-19 16:29:18 +053096 {
Boyuan Yan6b23b382019-06-04 11:59:35 -070097 path: 'roadm-gui',
98 loadChildren: 'roadm-gui-lib#RoadmGuiLibModule'
99 },
100 {
Sean Condona00bf382018-06-23 07:54:01 +0100101 path: '',
Sean Condon0c577f62018-11-18 22:40:05 +0000102 redirectTo: 'topo2', // Default to Topology view
Sean Condona00bf382018-06-23 07:54:01 +0100103 pathMatch: 'full'
104 }
105];
106
107/**
108 * ONOS GUI -- Main Routing Module - allows modules to be lazy loaded
109 *
110 * See https://angular.io/guide/lazy-loading-ngmodules
111 * for the theory of operation
112 */
113@NgModule({
114 imports: [
Sean Condon50e61a62019-12-19 14:28:06 +0000115 RouterModule.forRoot(onosRoutes, {useHash: true})
Sean Condona00bf382018-06-23 07:54:01 +0100116 ],
117 exports: [RouterModule],
118 providers: []
119})
Sean Condon50e61a62019-12-19 14:28:06 +0000120export class OnosRoutingModule {
121}