diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.html b/src/app/+item-page/simple/item-types/publication/publication.component.html index ba73ed43be..27f5ff43a1 100644 --- a/src/app/+item-page/simple/item-types/publication/publication.component.html +++ b/src/app/+item-page/simple/item-types/publication/publication.component.html @@ -21,7 +21,7 @@ { comp = fixture.componentInstance; comp.parentItem = parentItem; comp.itemType = itemType; - comp.metadataField = metadataField; + comp.metadataFields = metadataFields; fixture.detectChanges(); })); - it('should load 2 ds-metadata-representation-loader components', () => { + it('should load 3 ds-metadata-representation-loader components', () => { const fields = fixture.debugElement.queryAll(By.css('ds-metadata-representation-loader')); - expect(fields.length).toBe(2); + expect(fields.length).toBe(3); }); it('should contain one page of items', () => { diff --git a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts index 3db7abfe84..e5301dabc0 100644 --- a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts +++ b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts @@ -42,7 +42,7 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList /** * The metadata field to use for fetching metadata from the item */ - @Input() metadataField: string; + @Input() metadataFields: string[]; /** * An i18n label to use as a title for the list @@ -70,7 +70,7 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList * @param page The page to fetch */ getPage(page: number): Observable { - const metadata = this.parentItem.findMetadataSortedByPlace(this.metadataField); + const metadata = this.parentItem.findMetadataSortedByPlace(this.metadataFields); this.total = metadata.length; return this.resolveMetadataRepresentations(metadata, page); } diff --git a/src/app/core/shared/dspace-object.model.ts b/src/app/core/shared/dspace-object.model.ts index 9d1fba4f86..5ea2bced3d 100644 --- a/src/app/core/shared/dspace-object.model.ts +++ b/src/app/core/shared/dspace-object.model.ts @@ -163,8 +163,8 @@ export class DSpaceObject extends ListableObject implements CacheableObject { * Find metadata on a specific field and order all of them using their "place" property. * @param key */ - findMetadataSortedByPlace(key: string): MetadataValue[] { - return this.allMetadata([key]).sort((a: MetadataValue, b: MetadataValue) => { + findMetadataSortedByPlace(keyOrKeys: string | string[]): MetadataValue[] { + return this.allMetadata(keyOrKeys).sort((a: MetadataValue, b: MetadataValue) => { if (hasNoValue(a.place) && hasNoValue(b.place)) { return 0; } diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.html b/src/app/entity-groups/research-entities/item-pages/project/project.component.html index 9967b940ac..c18fed78af 100644 --- a/src/app/entity-groups/research-entities/item-pages/project/project.component.html +++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.html @@ -18,7 +18,7 @@