<ng-container *ngVar="object.indexableObject as item"> <ds-truncatable [id]="item.id"> <div class="card" [@focusShadow]="(isCollapsed$ | async)?'blur':'focus'"> <a [routerLink]="['/items/' + item.id]" class="card-img-top full-width"> <div> <ds-grid-thumbnail [thumbnail]="this.item.getThumbnail() | async"> </ds-grid-thumbnail> </div> </a> <div class="card-body"> <ds-item-type-badge [object]="object"></ds-item-type-badge> <ds-truncatable-part [id]="item.id" [minLines]="3" type="h4"> <h4 class="card-title" [innerHTML]="item.firstMetadataValue('dc.title')"></h4> </ds-truncatable-part> <p *ngIf="item.hasMetadata(['dc.contributor.author', 'dc.creator', 'dc.contributor.*'])" class="item-authors card-text text-muted"> <ds-truncatable-part [id]="item.id" [minLines]="1"> <span *ngIf="item.hasMetadata('dc.date.issued')" class="item-date">{{item.firstMetadataValue('dc.date.issued')}}</span> <span *ngFor="let author of item.allMetadataValues(['dc.contributor.author', 'dc.creator', 'dc.contributor.*']);">, <span [innerHTML]="author"></span> </span> </ds-truncatable-part> </p> <p *ngIf="item.hasMetadata('dc.description.abstract')" class="item-abstract card-text"> <ds-truncatable-part [id]="item.id" [minLines]="3"> <span [innerHTML]="firstMetadataValue('dc.description.abstract')"></span> </ds-truncatable-part> </p> <div class="text-center"> <a [routerLink]="['/items/' + item.id]" class="lead btn btn-primary viewButton">View</a> </div> </div> </div> </ds-truncatable> </ng-container>