diff --git a/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts b/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts index bea6981ce553143c96f3da414be062887799b2de..42f29c60284b38c24a9be0929c72ee0242dc1fa1 100644 --- a/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts +++ b/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts @@ -100,6 +100,9 @@ export class CloudConfigurationComponent implements OnInit { this.cloudParameters = this.parent.currentCloudParameters; this.defaultCloudParameters = this.parent.currentCloudParameters; this.parent.dataManager.getMetaData().subscribe((value)=>{ + if (!value) { + return; + } this.countPerWeight = value.countPerWeight; this.parseArrayToJsonWeightClasses(); }); diff --git a/src/app/components/shared/tag-cloud/tag-cloud.component.ts b/src/app/components/shared/tag-cloud/tag-cloud.component.ts index 8c4f29ece60e36b0284c9a3d9f9adf30b906400d..aae15d6d5cb9cbbb8908d221ff74693299647b20 100644 --- a/src/app/components/shared/tag-cloud/tag-cloud.component.ts +++ b/src/app/components/shared/tag-cloud/tag-cloud.component.ts @@ -237,10 +237,16 @@ export class TagCloudComponent implements OnInit, OnDestroy, AfterContentInit, A }); } }); - this.dataManager.getData().subscribe(_ => { + this.dataManager.getData().subscribe(data => { + if (!data) { + return; + } this.rebuildData(); }); this.dataManager.getMetaData().subscribe(data => { + if (!data) { + return; + } this.eventService.broadcast('tagCloudHeaderDataOverview', data); }); this.authenticationService.watchUser.subscribe(newUser => { diff --git a/src/app/services/util/tag-cloud-data.service.ts b/src/app/services/util/tag-cloud-data.service.ts index 07fb647467c658e3ed2dc3dbec70508a26c8e83a..8509c510737cb4a2c2f5a462346bdc371a2b07e7 100644 --- a/src/app/services/util/tag-cloud-data.service.ts +++ b/src/app/services/util/tag-cloud-data.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; import { TopicCloudAdminData } from '../../components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData'; -import { Observable, Subject, Subscription } from 'rxjs'; +import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs'; import { TopicCloudAdminService } from './topic-cloud-admin.service'; import { CommentFilter } from '../../utils/filter-options'; import { TranslateService } from '@ngx-translate/core'; @@ -65,8 +65,8 @@ export enum TagCloudCalcWeightType { export class TagCloudDataService { private _isDemoActive: boolean; private _isAlphabeticallySorted: boolean; - private _dataBus: Subject<TagCloudData>; - private _metaDataBus: Subject<TagCloudMetaData>; + private _dataBus: BehaviorSubject<TagCloudData>; + private _metaDataBus: BehaviorSubject<TagCloudMetaData>; private _cachedData: TagCloudData; private _commentSubscription = null; private _roomId = null; @@ -85,7 +85,7 @@ export class TagCloudDataService { private _roomDataService: RoomDataService) { this._isDemoActive = false; this._isAlphabeticallySorted = false; - this._dataBus = new Subject<TagCloudData>(); + this._dataBus = new BehaviorSubject<TagCloudData>(null); this._currentMetaData = { tagCount: 0, commentCount: 0, @@ -94,7 +94,7 @@ export class TagCloudDataService { maxWeight: 0, countPerWeight: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }; - this._metaDataBus = new Subject<TagCloudMetaData>(); + this._metaDataBus = new BehaviorSubject<TagCloudMetaData>(null); this._cachedData = null; // Subscribe to own 'service' for caching this._dataBus.asObservable().subscribe(data => {