Bug 1383 Error when consulting NS instance's topology

 * SOL006 Descriptor topology changes

Change-Id: I79afb00dfb54ce2c9dc02c0c4b7bbe435b07a915
Signed-off-by: Barath Kumar R <barath.r@tataelxsi.co.in>
diff --git a/src/app/layouts/header/HeaderComponent.html b/src/app/layouts/header/HeaderComponent.html
index a9ff5ac..c7b3bae 100644
--- a/src/app/layouts/header/HeaderComponent.html
+++ b/src/app/layouts/header/HeaderComponent.html
@@ -15,13 +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)
 -->
-<span class="d-none px-3 py-2 text-center text-bold bg-primary text-white">Here is a newer {{'APPVERSION' | translate}} {{PACKAGEVERSION}}
-    of OSM!</span>
+<span [ngClass]="toShowNewTag ? 'd-block': 'd-none'" class="px-3 py-2 text-center text-bold bg-secondary text-white">
+    {{'NEWVERSIONTAG' | translate:{appVersion: sharedService.osmVersion} }}
+    <button type="button" class="close closeVersion" aria-label="Close" (click)="closeVersion();">
+        <i class="fas fa-times text-white"></i>
+    </button>
+</span>
 
 <nav class="navbar navbar-expand-md sticky-top bg-white" role="navigation">
     <a class="navbar-brand">
-        <img routerLink="/" src="assets/images/logo.png" class="osm-logo"
-            alt="OPEN SOURCE MANO" draggable="false">
+        <img routerLink="/" src="assets/images/logo.png" class="osm-logo" alt="OPEN SOURCE MANO" draggable="false">
     </a>
     <div class="nav navbar-nav nav-flex-icons ml-auto">
         <ul class="navbar-nav cursor-pointer" ngbDropdown display="dynamic" placement="bottom-right">
@@ -61,7 +64,8 @@
                         <i class="fas fa-sign-out-alt"></i>
                     </a>
                     <div class="custom-divider"></div>
-                    <a *ngIf="sharedService.osmVersion" ngbDropdownItem class="dropdown-item project-item osm-version" href="javascript:void(0);">
+                    <a *ngIf="sharedService.osmVersion" ngbDropdownItem class="dropdown-item project-item osm-version"
+                        href="javascript:void(0);">
                         <span>{{'OSMVERSION' | translate}} {{sharedService.osmVersion}}</span>
                     </a>
                 </div>
diff --git a/src/app/layouts/header/HeaderComponent.ts b/src/app/layouts/header/HeaderComponent.ts
index 4d7f3b1..b496ff1 100644
--- a/src/app/layouts/header/HeaderComponent.ts
+++ b/src/app/layouts/header/HeaderComponent.ts
@@ -26,7 +26,6 @@
 import { ProjectService } from 'ProjectService';
 import { Observable } from 'rxjs';
 import { SharedService } from 'SharedService';
-import { ProjectRoleMappings, UserDetail } from 'UserModel';
 import { UserSettingsComponent } from 'UserSettingsComponent';
 
 /**
@@ -64,6 +63,9 @@
     /** Contains all methods related to shared @public */
     public sharedService: SharedService;
 
+    /** Property contains to show new version tag shared @public */
+    public toShowNewTag: Boolean = false;
+
     /** Utilizes auth service for any auth operations @private */
     private authService: AuthenticationService;
 
@@ -85,13 +87,19 @@
     public ngOnInit(): void {
         this.isAdmin = (localStorage.getItem('isAdmin') === 'true') ? true : false;
         this.selectedProject = this.authService.ProjectName;
-        this.authService.ProjectName.subscribe((projectNameFinal: string) => {
+        this.authService.ProjectName.subscribe((projectNameFinal: string): void => {
             this.getSelectedProject = projectNameFinal;
         });
         this.username$ = this.authService.username;
         this.projectService.setHeaderProjects();
         this.projectList$ = this.projectService.projectList;
         this.PACKAGEVERSION = environment.packageVersion;
+        const getLocalStorageVersion: string = localStorage.getItem('osmVersion');
+        if (getLocalStorageVersion === null) {
+            this.showNewVersion();
+        } else if (getLocalStorageVersion !== this.sharedService.osmVersion) {
+            this.showNewVersion();
+        }
     }
 
     /** Logout function  @public */
@@ -99,6 +107,17 @@
         this.authService.logout();
     }
 
+    /** Show Version function  @public */
+    public showNewVersion(): void {
+        this.toShowNewTag = true;
+    }
+
+    /** Close Version and add in local storage  @public */
+    public closeVersion(): void {
+        this.toShowNewTag = false;
+        localStorage.setItem('osmVersion', this.sharedService.osmVersion);
+    }
+
     /** Implementation of model for UserSettings options.@public */
     public userSettings(): void {
         this.modalService.open(UserSettingsComponent, { backdrop: 'static' });