Unsubscribed from observable subscription. 77/56377/3
authorIBM602-PC0F1E3C\Arundathi <arundpil@in.ibm.com>
Fri, 13 Jul 2018 10:04:30 +0000 (15:34 +0530)
committerTakamune Cho <tc012c@att.com>
Mon, 16 Jul 2018 14:32:50 +0000 (14:32 +0000)
Unsubscribed from observable in navigation component in ngOnDestroy
method. This will dispose the resource that the subscription holds.

Issue-ID: APPC-1049
Change-Id: I63203c7f3af9fb83b58bea91d9a21219611c7f7f
Signed-off-by: Arundathi <arundpil@in.ibm.com>
src/app/shared/components/navigation/navigation.component.ts

index acddf9e..522b11a 100644 (file)
@@ -2,6 +2,8 @@
 ============LICENSE_START==========================================
 ===================================================================
 Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
 ===================================================================
 
 Unless otherwise specified, all software contained herein is licensed
@@ -22,24 +24,26 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
 
 
-import {Component, Input, OnInit} from '@angular/core';
-import {Router} from '@angular/router';
-import {EmitterService} from '../../services/emitter.service';
+import { Component, Input, OnInit, OnDestroy } from '@angular/core';
+import { Router } from '@angular/router';
+import { Subscription } from 'rxjs/Subscription';
+import { EmitterService } from '../../services/emitter.service';
 
 
-@Component({selector: 'app-navigation', templateUrl: './navigation.component.html', styleUrls: ['./navigation.component.css']})
-export class NavigationComponent implements OnInit {
+@Component({ selector: 'app-navigation', templateUrl: './navigation.component.html', styleUrls: ['./navigation.component.css'] })
+export class NavigationComponent implements OnInit, OnDestroy {
     navigationTabs: Array<Object> = [];
     //@ViewChild(GoldenConfigurationComponent) goldenConfig: GoldenConfigurationComponent;
     @Input() id: string;
     userLoggedIn = false;
     userId: string = localStorage['userId'];
+    subscription: Subscription;
 
     constructor(private router: Router) {
     };
 
     ngOnChanges() {
-        EmitterService
+        this.subscription = EmitterService
             .get(this.id)
             .subscribe((value) => {
                 if (value != null && value != '' && value != undefined && value != 'undefined') {
@@ -80,6 +84,12 @@ export class NavigationComponent implements OnInit {
         ];
     }
 
+    ngOnDestroy() {
+        if (this.subscription) {
+            this.subscription.unsubscribe();
+        }
+    }
+
 
     gotoDetail(url) {