fixed an issue where incomplete mock data caused an error on collection homepages

This commit is contained in:
Art Lowel
2017-06-16 10:44:49 +02:00
parent 3d4de8a5a0
commit c6494d3de3
2 changed files with 79 additions and 7 deletions

View File

@@ -1,19 +1,21 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';
import { Collection } from "../core/shared/collection.model";
import { Bitstream } from "../core/shared/bitstream.model";
import { RemoteData } from "../core/data/remote-data";
import { CollectionDataService } from "../core/data/collection-data.service";
import { Subscription } from "rxjs/Subscription";
@Component({
selector: 'ds-collection-page',
styleUrls: ['./collection-page.component.css'],
templateUrl: './collection-page.component.html',
})
export class CollectionPageComponent implements OnInit {
export class CollectionPageComponent implements OnInit, OnDestroy {
collectionData: RemoteData<Collection>;
logoData: RemoteData<Bitstream>;
private subs: Subscription[] = [];
constructor(
private collectionDataService: CollectionDataService,
@@ -24,12 +26,16 @@ export class CollectionPageComponent implements OnInit {
ngOnInit(): void {
this.route.params.subscribe((params: Params) => {
this.collectionData = this.collectionDataService.findById(params['id'])
this.collectionData.payload
.subscribe(collection => this.logoData = collection.logo);
this.collectionData = this.collectionDataService.findById(params['id']);
this.subs.push(this.collectionData.payload
.subscribe(collection => this.logoData = collection.logo));
});
}
ngOnDestroy(): void {
this.subs.forEach(sub => sub.unsubscribe());
}
universalInit() {
}
}