Skip to content
Snippets Groups Projects
Commit 90126888 authored by Lotte Hofstede's avatar Lotte Hofstede
Browse files

fixed with subject instead of changedetection hack

parent 733ca643
No related branches found
No related tags found
No related merge requests found
......@@ -14,6 +14,7 @@ import { MetadataService } from '../../core/metadata/metadata.service';
import { fadeInOut } from '../../shared/animations/fade';
import { hasValue } from '../../shared/empty.util';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
/**
* This component renders a simple item page.
......@@ -30,13 +31,12 @@ import { hasValue } from '../../shared/empty.util';
})
export class FullItemPageComponent extends ItemPageComponent implements OnInit {
itemRDObs: Observable<RemoteData<Item>>;
itemRDObs: BehaviorSubject<RemoteData<Item>>;
metadataObs: Observable<Metadatum[]>;
constructor(route: ActivatedRoute, items: ItemDataService, metadataService: MetadataService,
ref: ChangeDetectorRef) {
super(route, items, metadataService, ref);
constructor(route: ActivatedRoute, items: ItemDataService, metadataService: MetadataService) {
super(route, items, metadataService);
}
/*** AoT inheritance fix, will hopefully be resolved in the near future **/
......
......@@ -13,6 +13,7 @@ import { MetadataService } from '../../core/metadata/metadata.service';
import { fadeInOut } from '../../shared/animations/fade';
import { hasValue } from '../../shared/empty.util';
import * as viewMode from '../../shared/view-mode';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
/**
* This component renders a simple item page.
......@@ -32,17 +33,16 @@ export class ItemPageComponent implements OnInit {
private sub: any;
itemRDObs: Observable<RemoteData<Item>>;
thumbnailObs: Observable<Bitstream>;
itemRDObs?: BehaviorSubject<RemoteData<Item>> = new BehaviorSubject(new RemoteData(true, true, false, null, null));
ElementViewMode = viewMode.ElementViewMode;
constructor(
private route: ActivatedRoute,
private items: ItemDataService,
private metadataService: MetadataService,
private ref: ChangeDetectorRef
) {
}
......@@ -56,8 +56,7 @@ export class ItemPageComponent implements OnInit {
initialize(params) {
this.id = +params.id;
this.itemRDObs = this.items.findById(params.id);
this.ref.detectChanges();
this.items.findById(params.id).filter((rd) => hasValue(rd.payload)).first().subscribe((item) => this.itemRDObs.next(item));
this.metadataService.processRemoteData(this.itemRDObs);
this.thumbnailObs = this.itemRDObs
.map((rd: RemoteData<Item>) => rd.payload)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment