diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html index 6d88c9761b..9b47a7fb7a 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html @@ -1,12 +1,23 @@ - - - - - +
+ +
+ + + + + @@ -22,4 +33,6 @@ - + +
+
diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts index dcb54b8d39..01f8c73ffc 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { environment } from '../../../../../../environments/environment'; @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement) @Component({ @@ -13,4 +14,15 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje * The component for displaying a list element for an item search result of the type Journal Issue */ export class JournalIssueSearchResultListElementComponent extends ItemSearchResultListElementComponent { + + /** + * Display thumbnails if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html index b7cb645e31..04991cb6f0 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html @@ -1,12 +1,23 @@ - - - - - +
+ +
+ + + + + @@ -22,4 +33,6 @@ - + +
+
diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts index 7cba2ef591..c88a5dccfe 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { environment } from '../../../../../../environments/environment'; @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement) @Component({ @@ -13,4 +14,15 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje * The component for displaying a list element for an item search result of the type Journal Volume */ export class JournalVolumeSearchResultListElementComponent extends ItemSearchResultListElementComponent { + + /** + * Display thumbnails if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html index 988fb2d4b5..58ad5ab364 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html @@ -1,12 +1,21 @@ - - +
+
- - + [routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out"> + + + +
+
+ + + + + @@ -16,4 +25,6 @@ - + +
+
diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts index 85460b47e4..dc3a592ee0 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { environment } from '../../../../../../environments/environment'; @listableObjectComponent('JournalSearchResult', ViewMode.ListElement) @Component({ @@ -13,4 +14,15 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje * The component for displaying a list element for an item search result of the type Journal */ export class JournalSearchResultListElementComponent extends ItemSearchResultListElementComponent { + + /** + * Display thumbnails if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html index 40f837bcd1..fd33b688c0 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html @@ -1,17 +1,29 @@ - - - - - +
+
+ + +
+
+ + + + + + [innerHTML]="firstMetadataValue('dc.description')"> - + +
+
diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts index 2165b7d94d..8aa536baff 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { environment } from '../../../../../../environments/environment'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement) @Component({ @@ -13,4 +14,15 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje * The component for displaying a list element for an item search result of the type Organisation Unit */ export class OrgUnitSearchResultListElementComponent extends ItemSearchResultListElementComponent { + + /** + * Display thumbnail if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html index 6d9cfe10c4..00446a5a78 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html @@ -1,12 +1,22 @@ - - - - - +
+
+ + +
+
+ + + + + @@ -16,4 +26,7 @@ - + +
+
+ diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts index 3b222ce27c..28383ba72b 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts @@ -8,6 +8,7 @@ import { } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { environment } from '../../../../../../environments/environment'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement) @Component({ @@ -24,6 +25,16 @@ export class PersonSearchResultListElementComponent extends ItemSearchResultList super(truncatableService, dsoNameService); } + /** + * Display thumbnail if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + /** * Return the person name */ diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html index d711ad7c18..80bbc14bf0 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html @@ -1,19 +1,31 @@ - - - - - - - - - - - - - - - +
+
+ + +
+
+ + + + + + + + + + + + + + + +
+
diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts index 6ad8c0fcaa..b0b727a8bf 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts @@ -2,6 +2,7 @@ import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { environment } from '../../../../../../environments/environment'; @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement) @Component({ @@ -13,4 +14,15 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje * The component for displaying a list element for an item search result of the type Project */ export class ProjectSearchResultListElementComponent extends ItemSearchResultListElementComponent { + + /** + * Display thumbnail if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + } diff --git a/src/app/shared/object-collection/object-collection.component.html b/src/app/shared/object-collection/object-collection.component.html index 999ae9a120..2b0df677d6 100644 --- a/src/app/shared/object-collection/object-collection.component.html +++ b/src/app/shared/object-collection/object-collection.component.html @@ -1,4 +1,4 @@ - isEmpty(params?.view) ? ViewMode.ListElement : params.view), distinctUntilChanged() ); + this.setPlaceHolderFontSize(); } /** @@ -167,7 +181,8 @@ export class ObjectCollectionComponent implements OnInit { constructor( private cdRef: ChangeDetectorRef, private route: ActivatedRoute, - private router: Router) { + private router: Router, + private elementRef: ElementRef) { } /** @@ -221,4 +236,19 @@ export class ObjectCollectionComponent implements OnInit { this.next.emit(true); } + /** + * Sets the class to be used for the "no thumbnail" + * placeholder font size. + */ + setPlaceHolderFontSize() { + const width = this.elementRef.nativeElement.offsetWidth; + if (width < 750) { + this.placeholderFontClass = "thumb-font-1"; + } else if (width < 1000) { + this.placeholderFontClass = "thumb-font-2"; + } else { + this.placeholderFontClass = "thumb-font-3"; + } + } + } diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html index c98003cd1d..55c377b749 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html @@ -1,4 +1,9 @@ - - - -
+
+
+
+ + + +
+
+
diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts index 9e09068ddf..cf955308ed 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts @@ -4,6 +4,7 @@ import { Collection } from '../../../../core/shared/collection.model'; import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { environment } from '../../../../../environments/environment'; @Component({ selector: 'ds-collection-search-result-list-element', @@ -14,4 +15,16 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista * Component representing a collection search result in list view */ @listableObjectComponent(CollectionSearchResult, ViewMode.ListElement) -export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent {} +export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent { + + /** + * Display thumbnails if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } + +} diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html index e0f0319ffc..ba5d5ebc23 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html @@ -1,4 +1,9 @@ - - - -
+
+
+
+ + + +
+
+
diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts index b2fd695b39..e7613fdeae 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts @@ -4,6 +4,7 @@ import { Community } from '../../../../core/shared/community.model'; import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { environment } from '../../../../../environments/environment'; @Component({ selector: 'ds-community-search-result-list-element', @@ -15,5 +16,14 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista */ @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement) export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent { + /** + * Display thumbnails if required by configuration + */ + showThumbnails: boolean; + + ngOnInit(): void { + super.ngOnInit(); + this.showThumbnails = environment.showItemThumbnails; + } } diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html index b3889e4f75..fb0429a8b9 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html @@ -1,6 +1,6 @@
-
- + diff --git a/src/app/shared/pagination/pagination.component.scss b/src/app/shared/pagination/pagination.component.scss index 755d916faa..dac826dc6d 100644 --- a/src/app/shared/pagination/pagination.component.scss +++ b/src/app/shared/pagination/pagination.component.scss @@ -5,4 +5,4 @@ .dropdown-item { padding-left: 20px; } -} \ No newline at end of file +} diff --git a/src/app/thumbnail/thumbnail.component.html b/src/app/thumbnail/thumbnail.component.html index aedfd95c5a..e73ad77ce5 100644 --- a/src/app/thumbnail/thumbnail.component.html +++ b/src/app/thumbnail/thumbnail.component.html @@ -7,7 +7,7 @@ [src]="src | dsSafeUrl" [alt]="alt | translate" (error)="errorHandler()">
-
{{ placeholder | translate }}
+
{{ placeholder | translate }}
diff --git a/src/app/thumbnail/thumbnail.component.ts b/src/app/thumbnail/thumbnail.component.ts index 3e122cde78..b47beb22d4 100644 --- a/src/app/thumbnail/thumbnail.component.ts +++ b/src/app/thumbnail/thumbnail.component.ts @@ -14,6 +14,7 @@ import { RemoteData } from '../core/data/remote-data'; templateUrl: './thumbnail.component.html', }) export class ThumbnailComponent implements OnChanges { + /** * The thumbnail Bitstream */ @@ -90,4 +91,5 @@ export class ThumbnailComponent implements OnChanges { this.src = null; } } + } diff --git a/src/styles/_global-styles.scss b/src/styles/_global-styles.scss index 89d1d76e9a..b9a9e2f8e4 100644 --- a/src/styles/_global-styles.scss +++ b/src/styles/_global-styles.scss @@ -138,3 +138,22 @@ ds-dynamic-form-control-container.d-none { .btn-dark { background-color: var(--ds-admin-sidebar-bg); } +/* The font sizes used in "no thumbnail" placeholder */ +.thumb-font-1 { + .thumbnail-placeholder { + font-size: 0.7rem !important; + visibility: inherit; + } +} +.thumb-font-2 { + .thumbnail-placeholder { + font-size: 0.9rem !important; + visibility: inherit; + } +} +.thumb-font-3 { + .thumbnail-placeholder { + font-size: 1.25rem !important; + visibility: inherit; + } +}