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 @@