mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
import { Component, Input } from '@angular/core';
|
|
|
|
import { Collection } from '../../../core/shared/collection.model';
|
|
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
|
|
import { ViewMode } from '../../../core/shared/view-mode.model';
|
|
import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator';
|
|
import { hasNoValue, hasValue } from '../../empty.util';
|
|
import { followLink } from '../../utils/follow-link-config.model';
|
|
import { LinkService } from '../../../core/cache/builders/link.service';
|
|
|
|
/**
|
|
* Component representing a grid element for collection
|
|
*/
|
|
@Component({
|
|
selector: 'ds-collection-grid-element',
|
|
styleUrls: ['./collection-grid-element.component.scss'],
|
|
templateUrl: './collection-grid-element.component.html'
|
|
})
|
|
|
|
@listableObjectComponent(Collection, ViewMode.GridElement)
|
|
export class CollectionGridElementComponent extends AbstractListableElementComponent<Collection> {
|
|
private _object: Collection;
|
|
|
|
constructor( private linkService: LinkService){
|
|
super();
|
|
}
|
|
|
|
@Input() set object(object: Collection) {
|
|
this._object = object;
|
|
if (hasValue(this._object) && hasNoValue(this._object.logo)) {
|
|
this.linkService.resolveLink<Collection>(this._object, followLink('logo'))
|
|
}
|
|
}
|
|
|
|
get object(): Collection {
|
|
return this._object;
|
|
}
|
|
}
|