import { Directive, Host } from '@angular/core'; import { NgForOf } from '@angular/common'; import { DSpaceObject } from '../core/shared/dspace-object.model'; @Directive({ // tslint:disable-next-line:directive-selector selector: '[ngForTrackById]', }) export class NgForTrackByIdDirective<T extends DSpaceObject> { constructor(@Host() private ngFor: NgForOf<T>) { this.ngFor.ngForTrackBy = (index: number, dso: T) => (dso) ? dso.id : undefined; } }