Fix Bug 2336: Manual Healing option in Ui
[osm/NG-UI.git] / src / models / MenuModel.ts
1 /*
2  Copyright 2020 TATA ELXSI
3
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
16  Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
17  */
18 /**
19  * @file  Model for Commonly used information.
20  */
21 /** Constants of the Menu child active class */
22 const childActiveClass: string[] = ['active'];
23 /** Constants of the Menu Items */
24 export const MENU_ITEMS: MENUITEMS[] = [
25     {
26         liClass: 'round-edge-top-3',
27         anchorTagClass: 'link round-edge-top-3 individual',
28         clickFunction: 'nosubmenu',
29         routerLink: '/',
30         routerLinkActive: ['parentactive'],
31         routerLinkActiveOptions: true,
32         icon: 'fas fa-th-large',
33         menuName: 'PAGE.DASHBOARD.DASHBOARD',
34         isChildExists: false
35     },
36     {
37         liClass: 'header-menu',
38         anchorTagClass: 'heading text-uppercase',
39         menuName: 'PROJECT',
40         isChildExists: false
41     },
42     {
43         liClass: 'round-edge-top-3',
44         anchorTagClass: 'parentlink round-edge-top-3 mr-top-5',
45         clickFunction: 'packages',
46         routerLink: '/packages',
47         routerLinkActive: ['menu-open', 'parentactive'],
48         routerLinkActiveOptions: false,
49         icon: 'fas fa-box',
50         menuName: 'PACKAGES',
51         isChildExists: true,
52         ulClass: 'sidebar-submenu',
53         childItems: [
54             {
55                 liClass: '',
56                 anchorTagClass: 'link',
57                 routerLink: '/packages/ns',
58                 routerLinkActive: childActiveClass,
59                 routerLinkActiveOptions: false,
60                 icon: 'fas fa-box-open',
61                 menuName: 'NSPACKAGES',
62                 isChildExists: false
63             },
64             {
65                 liClass: '',
66                 anchorTagClass: 'link',
67                 routerLink: '/packages/vnf',
68                 routerLinkActive: childActiveClass,
69                 routerLinkActiveOptions: false,
70                 icon: 'fas fa-box-open',
71                 menuName: 'VNFPACKAGES',
72                 isChildExists: false
73             },
74             {
75                 liClass: '',
76                 anchorTagClass: 'link',
77                 routerLink: '/packages/netslice',
78                 routerLinkActive: childActiveClass,
79                 routerLinkActiveOptions: false,
80                 icon: 'fas fa-layer-group',
81                 menuName: 'PAGE.DASHBOARD.NETSLICETEMPLATE',
82                 isChildExists: false
83             }
84         ]
85     },
86     {
87         liClass: 'mt-1 round-edge-bottom-3 border-bottom-none',
88         anchorTagClass: 'parentlink round-edge-bottom-3 border-bottom-none',
89         clickFunction: 'instances',
90         routerLink: '/instances',
91         routerLinkActive: ['menu-open', 'parentactive'],
92         routerLinkActiveOptions: false,
93         icon: 'fa fa-paper-plane',
94         menuName: 'INSTANCES',
95         isChildExists: true,
96         ulClass: 'sidebar-submenu',
97         childItems: [
98             {
99                 liClass: '',
100                 anchorTagClass: 'link',
101                 routerLink: '/instances/ns',
102                 routerLinkActive: childActiveClass,
103                 routerLinkActiveOptions: false,
104                 icon: 'fas fa-sitemap',
105                 menuName: 'NSINSTANCES',
106                 isChildExists: false
107             },
108             {
109                 liClass: '',
110                 anchorTagClass: 'link',
111                 routerLink: '/instances/vnf',
112                 routerLinkActive: childActiveClass,
113                 routerLinkActiveOptions: false,
114                 icon: 'fas fa-hdd',
115                 menuName: 'VNFINSTANCES',
116                 isChildExists: false
117             },
118             {
119                 liClass: '',
120                 anchorTagClass: 'link',
121                 routerLink: '/instances/pdu',
122                 routerLinkActive: childActiveClass,
123                 routerLinkActiveOptions: false,
124                 icon: 'fas fa-hdd',
125                 menuName: 'PDUINSTANCES',
126                 isChildExists: false
127             },
128             {
129                 liClass: '',
130                 anchorTagClass: 'link',
131                 routerLink: '/instances/netslice',
132                 routerLinkActive: childActiveClass,
133                 routerLinkActiveOptions: false,
134                 icon: 'fas fa-layer-group',
135                 menuName: 'PAGE.DASHBOARD.NETSLICEINSTANCE',
136                 isChildExists: false
137             },
138             {
139                 liClass: '',
140                 anchorTagClass: 'link',
141                 routerLink: '/instances/operational-view',
142                 routerLinkActive: childActiveClass,
143                 routerLinkActiveOptions: false,
144                 icon: 'fas fa-tachometer-alt',
145                 menuName: 'PAGE.OPERATIONALDASHBOARD.TITLE',
146                 isChildExists: false
147             }
148         ]
149     },
150     {
151         liClass: 'round-edge-top-3 round-edge-bottom-3 mr-top-5',
152         anchorTagClass: 'link round-edge-top-3 round-edge-bottom-3 individual',
153         clickFunction: 'nosubmenu',
154         routerLink: '/sdn/details',
155         routerLinkActive: ['parentactive'],
156         routerLinkActiveOptions: true,
157         icon: 'fas fa-globe',
158         menuName: 'SDNCONTROLLER',
159         isChildExists: false
160     },
161     {
162         liClass: 'round-edge-top-3 round-edge-bottom-3 mr-top-5',
163         anchorTagClass: 'link round-edge-top-3 round-edge-bottom-3 individual',
164         clickFunction: 'nosubmenu',
165         routerLink: '/vim',
166         routerLinkActive: ['parentactive'],
167         routerLinkActiveOptions: false,
168         icon: 'fas fa-server',
169         menuName: 'VIMACCOUNTS',
170         isChildExists: false
171     },
172     {
173         liClass: 'round-edge-top-3 round-edge-bottom-3 mr-top-5',
174         anchorTagClass: 'parentlink round-edge-top-3 round-edge-bottom-3',
175         clickFunction: 'k8s',
176         routerLink: '/k8s',
177         routerLinkActive: ['menu-open', 'parentactive'],
178         routerLinkActiveOptions: false,
179         icon: 'fas fa-asterisk',
180         menuName: 'PAGE.K8S.MENUK8S',
181         isChildExists: true,
182         ulClass: 'sidebar-submenu',
183         childItems: [
184             {
185                 liClass: '',
186                 anchorTagClass: 'link',
187                 routerLink: '/k8s/cluster',
188                 routerLinkActive: childActiveClass,
189                 routerLinkActiveOptions: false,
190                 icon: 'fas fa-project-diagram',
191                 menuName: 'PAGE.K8S.MENUK8SCLUSTER',
192                 isChildExists: false
193             },
194             {
195                 liClass: '',
196                 anchorTagClass: 'link',
197                 routerLink: '/k8s/repo',
198                 routerLinkActive: childActiveClass,
199                 routerLinkActiveOptions: false,
200                 icon: 'fas fa-flag',
201                 menuName: 'PAGE.K8S.MENUK8SREPO',
202                 isChildExists: false
203             }
204         ]
205     },
206     {
207         liClass: 'round-edge-top-3 round-edge-bottom-3 mr-top-5',
208         anchorTagClass: 'link round-edge-top-3 round-edge-bottom-3 individual',
209         clickFunction: 'nosubmenu',
210         routerLink: '/repos/details',
211         routerLinkActive: ['parentactive'],
212         routerLinkActiveOptions: true,
213         icon: 'fas fa-fas fa-cloud-download-alt',
214         menuName: 'PAGE.OSMREPO.MENUOSMREPO',
215         isChildExists: false
216     },
217     {
218         liClass: 'round-edge-top-3 round-edge-bottom-3 mr-top-5',
219         anchorTagClass: 'link round-edge-top-3 round-edge-bottom-3 individual',
220         clickFunction: 'nosubmenu',
221         routerLink: '/wim/details',
222         routerLinkActive: ['parentactive'],
223         routerLinkActiveOptions: true,
224         icon: 'fas fa-sitemap',
225         menuName: 'WIMACCOUNTS',
226         isChildExists: false
227     },
228     {
229         liClass: 'header-menu',
230         anchorTagClass: 'heading text-uppercase',
231         menuName: 'ADMIN',
232         isChildExists: false
233     },
234     {
235         liClass: 'mt-1 round-edge-top-3',
236         anchorTagClass: 'link round-edge-top-3 individual',
237         clickFunction: 'nosubmenu',
238         routerLink: '/projects',
239         routerLinkActive: ['parentactive'],
240         routerLinkActiveOptions: true,
241         icon: 'fas fa-folder',
242         menuName: 'PAGE.DASHBOARD.PROJECTS',
243         isChildExists: false
244     },
245     {
246         liClass: 'mt-1 mb-1',
247         anchorTagClass: 'link individual',
248         clickFunction: 'nosubmenu',
249         routerLink: '/users/details',
250         routerLinkActive: ['parentactive'],
251         routerLinkActiveOptions: true,
252         icon: 'fas fa-users',
253         menuName: 'PAGE.DASHBOARD.USERS',
254         isChildExists: false
255     },
256     {
257         liClass: 'round-edge-bottom-3',
258         anchorTagClass: 'link round-edge-bottom-3 individual',
259         clickFunction: 'nosubmenu',
260         routerLink: '/roles/details',
261         routerLinkActive: ['parentactive'],
262         routerLinkActiveOptions: true,
263         icon: 'fas fa-user-tag',
264         menuName: 'ROLES',
265         isChildExists: false
266     }
267 ];
268
269 /** Interface for Post options */
270 export interface MENUITEMS {
271     ulClass?: string;
272     liClass: string;
273     anchorTagClass: string;
274     clickFunction?: string;
275     routerLink?: string;
276     routerLinkActive?: string[];
277     routerLinkActiveOptions?: boolean;
278     icon?: string;
279     menuName: string;
280     isChildExists: boolean;
281     childItems?: MENUITEMS[];
282 }