Angular upgrade

	- Upgraded Angular from 14 to 15 version.

Change-Id: I2339a04020153cbc9ed7a14bfe8e0aa265e507da
Signed-off-by: SANDHYA.JS <sandhya.j@tataelxsi.co.in>
diff --git a/src/app/packages/ns-packages/NSPackagesComponent.html b/src/app/packages/ns-packages/NSPackagesComponent.html
index 5b67268..c8229f3 100644
--- a/src/app/packages/ns-packages/NSPackagesComponent.html
+++ b/src/app/packages/ns-packages/NSPackagesComponent.html
@@ -15,7 +15,7 @@
 
 Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
 -->
-<div class="row d-flex flex-row justify-content-between">
+<div class="d-flex flex-row justify-content-between">
   <div class="d-flex align-items-center header-style">NS {{'PACKAGES' | translate}}</div>
   <span class="button">
     <button class="btn btn-primary" type="button" placement="top" container="body" ngbTooltip="{{'PAGE.NSPACKAGE.ADDNSPACKAGE' | translate}}"
@@ -33,8 +33,8 @@
     </div>
   </div>
 </div>
-<div class="row mt-2 mb-0 form-group justify-content-end list-utilites-actions">
-  <page-per-row class="mr-2" (pagePerRow)="onChange($event)"></page-per-row>
+<div class="mt-2 mb-0 form-group justify-content-end list-utilites-actions">
+  <page-per-row class="me-2" (pagePerRow)="onChange($event)"></page-per-row>
   <page-reload></page-reload>
 </div>
 <div class="smarttable-style bg-white mt-1">
diff --git a/src/app/packages/ns-packages/ns-composer/NSComposerComponent.html b/src/app/packages/ns-packages/ns-composer/NSComposerComponent.html
index c4ec96d..d8c7df3 100644
--- a/src/app/packages/ns-packages/ns-composer/NSComposerComponent.html
+++ b/src/app/packages/ns-packages/ns-composer/NSComposerComponent.html
@@ -23,44 +23,44 @@
       <span class="topology_title" *ngIf="isShowVLDetails">{{'PAGE.TOPOLOGY.VIRTUALLINK' | translate}}</span>
       <span class="topology_title" *ngIf="isShowVNFDetails">{{'PAGE.TOPOLOGY.VNF' | translate}}</span>
       <span class="topology_title" *ngIf="isShowCPDetails">{{'PAGE.TOPOLOGY.CONNECTIONPOINT' | translate}}</span>
-      <button (click)="toggleSidebar()" class="close" type="button">
+      <button (click)="toggleSidebar()" class="close-nsd" type="button">
         <i class="fas fa-times-circle text-danger" aria-hidden="true"></i>
       </button>
     </div>
     <div class="sidebar-body">
       <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mb-2" *ngIf="isShowNSDDetails">
         <div class="row">
-          <div class="col-12 p-0">
+          <div class="col-12">
             <form autocomplete="off">
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'ID' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'ID' | translate }}" name="id"
                     [(ngModel)]="nsPackageDetails.id">
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'NAME' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'NAME' | translate }}" name="name"
                     [(ngModel)]="nsPackageDetails.name">
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'DESCRIPTION' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <textarea rows="5" cols="50" class="form-control" placeholder="{{ 'DESCRIPTION' | translate }}"
                     name="description" [(ngModel)]="nsPackageDetails.description"></textarea>
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'VERSION' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'VERSION' | translate }}" name="version"
                     [(ngModel)]="nsPackageDetails.version">
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'DESIGNER' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'DESIGNER' | translate }}" name="designer"
@@ -162,7 +162,7 @@
 </ng-sidebar-container>
 <div class="container-fluid text-dark">
   <div class="row bg-white ns-composer-form">
-    <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 pl-0 px-0">
+    <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 ps-0 px-0">
       <div class="row">
         <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mb-2">
           <fieldset class="p-2">
@@ -172,7 +172,7 @@
             <ul class="list-group list-group-flush dragable">
               <li class="list-group-item" draggable="true" (dragstart)="drag($event)" id="vl">
                 <img src="assets/images/VL.svg" class="ns-svg" draggable="false"/>
-                &nbsp;<span class="span-overflow-text font-weight-bold">{{'PAGE.TOPOLOGY.VL' | translate}}</span>
+                &nbsp;<span class="span-overflow-text fw-bold">{{'PAGE.TOPOLOGY.VL' | translate}}</span>
                 <span class="drag-icon pull-right"><i class="fas fa-arrows-alt"></i></span>
               </li>
             </ul>
@@ -190,7 +190,7 @@
                 [attr.data-id]="list['id']" *ngFor="let list of vnfList" placement="top"
               container="body" ngbTooltip="{{ list['product-name'] }}">
                 <img src="assets/images/VNFD.svg" class="ns-svg" draggable="false"/>
-                &nbsp;<span class="span-overflow-text font-weight-bold">{{ list['product-name'] }}</span>
+                &nbsp;<span class="span-overflow-text fw-bold">{{ list['product-name'] }}</span>
                 <span class="drag-icon pull-right"><i class="fas fa-arrows-alt"></i></span>
               </li>
             </ul>
@@ -200,7 +200,7 @@
     </div>
     <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
       <div class="row">
-        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 pl-0">
+        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 ps-0">
           <div class="btn-group list" role="group" aria-label="Basic example">
             <button type="button" class="btn btn-primary topology-btn" (click)="onFreeze()"
               [class.pinned]="classApplied" placement="top" container="body" ngbTooltip="{{(classApplied ? 'UNFREEZE' : 'FREEZE') | translate}}">
@@ -216,7 +216,7 @@
             </button>
           </div>
         </div>
-        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-right pr-0 badgegroup">
+        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-end pe-0 badgegroup">
           <span class="badge badge-primary badge-pill bg-white text-body font-weight-bold">
             <img src="assets/images/VNFD.svg" class="ns-svg" draggable="false"/>
             <br>{{'PAGE.TOPOLOGY.VNF' | translate}}</span>
diff --git a/src/app/packages/ns-packages/ns-composer/NSComposerComponent.scss b/src/app/packages/ns-packages/ns-composer/NSComposerComponent.scss
index d750ccc..34eb552 100644
--- a/src/app/packages/ns-packages/ns-composer/NSComposerComponent.scss
+++ b/src/app/packages/ns-packages/ns-composer/NSComposerComponent.scss
@@ -14,4 +14,12 @@
  limitations under the License.
 
  Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
-*/
\ No newline at end of file
+*/
+.close-nsd {
+    opacity: 1;
+    background-color: transparent;
+    border: 0;
+    position: absolute;
+    right: 4px;
+    font-size: 1.3125rem;
+}
\ No newline at end of file
diff --git a/src/app/packages/ns-packages/ns-composer/NSComposerComponent.ts b/src/app/packages/ns-packages/ns-composer/NSComposerComponent.ts
index 4552226..916ac8b 100644
--- a/src/app/packages/ns-packages/ns-composer/NSComposerComponent.ts
+++ b/src/app/packages/ns-packages/ns-composer/NSComposerComponent.ts
@@ -18,7 +18,6 @@
 /**
  * @file NS Compose Component
  */
-import { isNullOrUndefined } from 'util';
 import { HttpHeaders } from '@angular/common/http';
 import { Component, ElementRef, Injector, ViewChild, ViewEncapsulation } from '@angular/core';
 import { ActivatedRoute, Router } from '@angular/router';
@@ -43,7 +42,7 @@
   Tick, TickPath, VLC, VLD, VNFPROFILE
 } from 'NSDModel';
 import { RestService } from 'RestService';
-import { SharedService } from 'SharedService';
+import { SharedService, isNullOrUndefined } from 'SharedService';
 import { VNFD, VNFData } from 'VNFDModel';
 
 /**
diff --git a/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.html b/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.html
index a947069..3ed9543 100644
--- a/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.html
+++ b/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.html
@@ -27,44 +27,44 @@
         translate}}</span>
       <span class="topology_title" *ngIf="showRightSideInfo === 'intcpInfo'">{{'PAGE.TOPOLOGY.INTCONNECTIONPOINT' |
         translate}}</span>
-      <button (click)="toggleSidebar()" class="close" type="button">
+      <button (click)="toggleSidebar()" class="close-vnfd" type="button">
         <i class="fas fa-times-circle text-danger" aria-hidden="true"></i>
       </button>
     </div>
     <div class="sidebar-body">
       <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mb-2" *ngIf="showRightSideInfo === 'vnfdInfo'">
         <div class="row">
-          <div class="col-12 p-0">
+          <div class="col-12">
             <form>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'ID' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'ID' | translate }}" name="id"
                     [(ngModel)]="vnfdInfo.id">
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'PRODUCTNAME' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'PRODUCTNAME' | translate }}"
                     name="product-name" [(ngModel)]="vnfdInfo['product-name']">
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'DESCRIPTION' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <textarea rows="5" cols="50" class="form-control" placeholder="{{ 'DESCRIPTION' | translate }}"
                     name="description" [(ngModel)]="vnfdInfo.description"></textarea>
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'VERSION' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'VERSION' | translate }}" name="version"
                     [(ngModel)]="vnfdInfo.version">
                 </div>
               </div>
-              <div class="form-group row">
+              <div class="form-group row mb-3">
                 <label class="col-sm-4 col-form-label">{{ 'PROVIDER' | translate }}</label>
                 <div class="col-sm-8 p-0">
                   <input type="text" class="form-control" placeholder="{{ 'PROVIDER' | translate }}" name="provider"
@@ -182,7 +182,7 @@
 </ng-sidebar-container>
 <div class="container-fluid text-dark">
   <div class="row bg-white vnf-composer-form">
-    <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 pl-0 px-0">
+    <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 ps-0 px-0">
       <div class="row">
         <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mb-2">
           <fieldset class="p-2">
@@ -212,7 +212,7 @@
     </div>
     <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
       <div class="row">
-        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 pl-0">
+        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 ps-0">
           <div class="btn-group list" role="group" aria-label="Basic example">
             <button type="button" class="btn btn-primary topology-btn" (click)="onFreeze()"
               [class.pinned]="classApplied" placement="top" container="body"
@@ -229,7 +229,7 @@
             </button>
           </div>
         </div>
-        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-right pr-0 badgegroup">
+        <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 text-end pe-0 badgegroup">
           <span class="badge badge-primary badge-pill bg-white text-body font-weight-bold">
             <img src="assets/images/VDU.svg" class="vnf-svg" draggable="false" />
             <br>{{'PAGE.TOPOLOGY.VDU' | translate}}</span>
diff --git a/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.scss b/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.scss
index 4473c67..aa6b894 100644
--- a/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.scss
+++ b/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.scss
@@ -14,4 +14,12 @@
  limitations under the License.
 
  Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
-*/
\ No newline at end of file
+*/
+.close-vnfd {
+    opacity: 1;
+    background-color: transparent;
+    border: 0;
+    position: absolute;
+    right: 4px;
+    font-size: 1.3125rem;
+}
\ No newline at end of file
diff --git a/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.ts b/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.ts
index eabd2b7..9fab0da 100644
--- a/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.ts
+++ b/src/app/packages/ns-packages/vnf-composer/VNFComposerComponent.ts
@@ -18,7 +18,6 @@
 /**
  * @file VNFComposerComponent
  */
- import { isNullOrUndefined } from 'util';
 import { HttpHeaders } from '@angular/common/http';
 import { Component, ElementRef, Injector, ViewChild, ViewEncapsulation } from '@angular/core';
 import { ActivatedRoute, Router } from '@angular/router';
@@ -33,7 +32,7 @@
 import * as HttpStatus from 'http-status-codes';
 import * as jsyaml from 'js-yaml';
 import { RestService } from 'RestService';
-import { SharedService } from 'SharedService';
+import { SharedService, isNullOrUndefined } from 'SharedService';
 import { COMPOSERNODES, EXTCPD, GRAPHDETAILS, INTCPD, IVLD, Tick, TickPath, VDU, VDUINTCPD, VNFD, VNFDATA, VNIR } from 'VNFDModel';
 
 /**