From 1af5958fa9ea336ee8433a712facc341f0766545 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Mon, 30 Mar 2020 11:40:58 +0200 Subject: [PATCH] Added ngFor track by DSO's id directive --- src/app/shared/ng-for-track-by-id.directive.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/app/shared/ng-for-track-by-id.directive.ts diff --git a/src/app/shared/ng-for-track-by-id.directive.ts b/src/app/shared/ng-for-track-by-id.directive.ts new file mode 100644 index 0000000000..22343df750 --- /dev/null +++ b/src/app/shared/ng-for-track-by-id.directive.ts @@ -0,0 +1,16 @@ +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 { + + constructor(@Host() private ngFor: NgForOf) { + this.ngFor.ngForTrackBy = (index: number, dso: T) => (dso) ? dso.id : undefined; + } + +}