blob: e2f6af8b0aaec04d2a6dff09d876dba1c8961035 [file] [log] [blame]
kumaran.m3b4814a2020-05-01 19:48:54 +05301/*
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 Packages Module.
20 */
21import { CommonModule } from '@angular/common';
22import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
23import { ReactiveFormsModule } from '@angular/forms';
24import { FormsModule } from '@angular/forms';
25import { RouterModule, Routes } from '@angular/router';
26import { CodemirrorModule } from '@ctrl/ngx-codemirror';
27import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
28import { NgSelectModule } from '@ng-select/ng-select';
29import { TranslateModule } from '@ngx-translate/core';
30import { ClonePackageComponent } from 'ClonePackage';
31import { DataService } from 'DataService';
32import { DragDirective } from 'DragDirective';
33import { EditPackagesComponent } from 'EditPackagesComponent';
34import { LoaderModule } from 'LoaderModule';
35import { NetsliceTemplateComponent } from 'NetsliceTemplate';
36import { SidebarModule } from 'ng-sidebar';
37import { Ng2SmartTableModule } from 'ng2-smart-table';
38import { NSComposerComponent } from 'NSComposer';
SANDHYA.JS07decc02024-07-01 21:50:48 +053039import { NSConfigTemplateComponent } from 'NSCONFIGTEMPLATE';
kumaran.m3b4814a2020-05-01 19:48:54 +053040import { NSPackagesComponent } from 'NSPackages';
SANDHYA.JS26570112024-07-05 21:35:46 +053041import { OKAPackageComponent } from 'OkaPackageComponent';
kumaran.m3b4814a2020-05-01 19:48:54 +053042import { PackagesComponent } from 'Packages';
43import { PagePerRowModule } from 'PagePerRowModule';
44import { PageReloadModule } from 'PageReloadModule';
45import { ShowContentComponent } from 'ShowContent';
46import { VNFComposerComponent } from 'VNFComposer';
47import { VNFPackagesComponent } from 'VNFPackages';
48
49/** To halndle project information */
50const projectInfo: {} = { title: '{project}', url: '/' };
51
52/**
53 * configures routers
54 */
55const routes: Routes = [
56 {
57 path: '',
58 component: PackagesComponent,
59 children: [
60 {
61 path: 'ns',
62 data: {
63 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' },
64 projectInfo, { title: 'NSPACKAGES', url: null }]
65 },
66 component: NSPackagesComponent
67 },
68 {
69 path: 'vnf',
70 data: {
71 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' },
72 projectInfo, { title: 'VNFPACKAGES', url: null }]
73 },
74 component: VNFPackagesComponent
75 },
76 {
77 path: 'netslice',
78 data: {
79 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' }
80 , projectInfo, { title: 'PAGE.DASHBOARD.NETSLICETEMPLATE', url: null }]
81 },
82 component: NetsliceTemplateComponent
83 },
84 {
85 path: ':type/edit/:id',
86 data: {
87 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' }
88 , projectInfo, { title: '{type}', url: '/packages/{type}' }, { title: '{id}', url: null }]
89 },
90 component: EditPackagesComponent
91 },
92 {
93 path: 'ns/compose/:id',
94 data: {
95 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' }
96 , projectInfo, { title: 'NSPACKAGES', url: '/packages/ns' }, { title: '{id}', url: null }]
97 },
98 component: NSComposerComponent
99 },
100 {
101 path: 'vnf/compose/:id',
102 data: {
103 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' },
104 projectInfo, { title: 'VNFPACKAGES', url: '/packages/vnf' }, { title: '{id}', url: null }]
105 },
106 component: VNFComposerComponent
SANDHYA.JS07decc02024-07-01 21:50:48 +0530107 },
108 {
109 path: 'nsconfigtemplate',
110 data: {
111 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' },
112 projectInfo, { title: 'PAGE.DASHBOARD.NSCONFIGTEMPLATE', url: null }]
113 },
114 component: NSConfigTemplateComponent
SANDHYA.JS26570112024-07-05 21:35:46 +0530115 },
116 {
117 path: 'oka',
118 data: {
119 breadcrumb: [{ title: 'PAGE.DASHBOARD.DASHBOARD', url: '/' }, { title: 'PAGE.DASHBOARD.PROJECTS', url: '/projects' },
120 projectInfo, { title: 'PAGE.K8S.OKAPACKAGES', url: null }]
121 },
122 component: OKAPackageComponent
kumaran.m3b4814a2020-05-01 19:48:54 +0530123 }
124 ]
125 }
126];
127
128/**
129 * Creating @NgModule component for Modules
130 */
131@NgModule({
132 imports: [ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: 'never' }), FormsModule, CommonModule, Ng2SmartTableModule,
133 CodemirrorModule, TranslateModule, RouterModule.forChild(routes), NgbModule, NgSelectModule,
134 PagePerRowModule, SidebarModule.forRoot(), LoaderModule, PageReloadModule],
135 declarations: [PackagesComponent, NSPackagesComponent, VNFPackagesComponent, NetsliceTemplateComponent,
SANDHYA.JS26570112024-07-05 21:35:46 +0530136 DragDirective, ShowContentComponent, NSComposerComponent, VNFComposerComponent, EditPackagesComponent, ClonePackageComponent, NSConfigTemplateComponent, OKAPackageComponent],
kumaran.m3b4814a2020-05-01 19:48:54 +0530137 providers: [DataService],
SANDHYA.JS0a34dfa2023-04-25 23:59:41 +0530138 schemas: [CUSTOM_ELEMENTS_SCHEMA]
kumaran.m3b4814a2020-05-01 19:48:54 +0530139})
140/** Exporting a class @exports PackagesModule */
141export class PackagesModule {
142 /** Variables declared to avoid state-less class */
143 private packagesModule: string;
144}