<ds-truncatable [id]="dso.id">
    <div class="card" [@focusShadow]="(isCollapsed$ | async)?'blur':'focus'">
        <a [routerLink]="['/items/' + dso.id]" class="card-img-top full-width">
            <div>
                <ds-grid-thumbnail [thumbnail]="dso.getThumbnail() | async">
                </ds-grid-thumbnail>
            </div>
        </a>
        <div class="card-body">
            <ds-item-type-badge [object]="dso"></ds-item-type-badge>
            <ds-truncatable-part [id]="dso.id" [minLines]="3" type="h4">
                <h4 class="card-title" [innerHTML]="dso.firstMetadataValue('dc.title')"></h4>
            </ds-truncatable-part>
            <p *ngIf="dso.hasMetadata('creativework.datePublished')" class="item-date card-text text-muted">
                <ds-truncatable-part [id]="dso.id" [minLines]="1">
                    <span [innerHTML]="firstMetadataValue('creativework.datePublished')"></span>
                </ds-truncatable-part>
            </p>
            <p *ngIf="dso.hasMetadata('journal.title')" class="item-journal-title card-text">
                <ds-truncatable-part [id]="dso.id" [minLines]="3">
                    <span [innerHTML]="firstMetadataValue('journal.title')"></span>
                </ds-truncatable-part>
            </p>
            <div class="text-center">
                <a [routerLink]="['/items/' + dso.id]"
                   class="lead btn btn-primary viewButton">View</a>
            </div>
        </div>
    </div>
</ds-truncatable>