From 321c59aaa1f590256a27d4e76b1c950eadb9fe50 Mon Sep 17 00:00:00 2001 From: Konstantinos Triantafyllou Date: Fri, 6 Dec 2019 15:46:38 +0000 Subject: [PATCH] [MonitorDashboard]: Fix a bug with subscriptions git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-monitor-portal/trunk/monitor_dashboard@57835 d315682c-612b-4755-9ff5-7f18f6832af3 --- src/app/monitor/monitor.component.ts | 11 +++++++++-- src/app/topic/indicators.component.ts | 1 + src/app/topic/topic.component.ts | 5 +++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/app/monitor/monitor.component.ts b/src/app/monitor/monitor.component.ts index f3c09cd..b24095f 100644 --- a/src/app/monitor/monitor.component.ts +++ b/src/app/monitor/monitor.component.ts @@ -19,6 +19,7 @@ import {StakeholderCreator} from "../utils/entities/stakeholderCreator"; import {LayoutService} from "../library/sharedComponents/sidebar/layout.service"; import {FormBuilder, FormControl} from "@angular/forms"; import {IDeactivateComponent} from "../openaireLibrary/utils/can-exit.guard"; +import {Subscription} from "rxjs"; @Component({ selector: 'monitor', @@ -29,6 +30,7 @@ export class MonitorComponent implements OnInit, OnDestroy, IDeactivateComponent id; status; }; + public subscriptions: any[] = []; public piwiksub: any; public pageContents = null; public divContents = null; @@ -78,14 +80,18 @@ export class MonitorComponent implements OnInit, OnDestroy, IDeactivateComponent }); this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { + let subscription: Subscription; this.route.params.subscribe(params => { + if(subscription) { + subscription.unsubscribe(); + } this.properties = data.envSpecific; var url = data.envSpecific.baseLink + this._router.url; if (!this.stakeholder || this.stakeholder.alias !== params['stakeholder']) { this.status = this.errorCodes.LOADING; this.numberResults = new Map(); this.chartsActiveType = new Map(); - this.stakeholderService.getStakeholderAsObservable().subscribe(stakeholder => { + subscription = this.stakeholderService.getStakeholderAsObservable().subscribe(stakeholder => { /*let stakeholder: Stakeholder = null; if (params['stakeholder'] == "fwf") { stakeholder = new Stakeholder(null, "funder", "fwf_________::FWF", "Austrian Science Fund (FWF)", "FWF", @@ -125,7 +131,8 @@ export class MonitorComponent implements OnInit, OnDestroy, IDeactivateComponent } }, error => { this.navigateToError(); - }) + }); + this.subscriptions.push(subscription); } else { this.setView(params); } diff --git a/src/app/topic/indicators.component.ts b/src/app/topic/indicators.component.ts index aee6608..27035d4 100644 --- a/src/app/topic/indicators.component.ts +++ b/src/app/topic/indicators.component.ts @@ -159,6 +159,7 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV } onPrivacyChange(value) { + console.log(this.numbers); this.displayCharts = this.filterPrivacy(this.charts, value); this.displayNumbers = this.filterPrivacy(this.numbers, value); } diff --git a/src/app/topic/topic.component.ts b/src/app/topic/topic.component.ts index b2320e6..b571abb 100644 --- a/src/app/topic/topic.component.ts +++ b/src/app/topic/topic.component.ts @@ -67,7 +67,7 @@ export class TopicComponent implements OnInit, OnDestroy { .subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; let subscription: Subscription; - this.subscriptions.push(this.route.params.subscribe(params => { + this.route.params.subscribe(params => { if(subscription) { subscription.unsubscribe(); } @@ -83,7 +83,8 @@ export class TopicComponent implements OnInit, OnDestroy { } } }); - })); + this.subscriptions.push(subscription); + }); }); }