diff --git a/src/app/submission/sections/upload/file/view/file-view.component.html b/src/app/submission/sections/upload/file/view/file-view.component.html
index 0e6baac959..838e6d3b97 100644
--- a/src/app/submission/sections/upload/file/view/file-view.component.html
+++ b/src/app/submission/sections/upload/file/view/file-view.component.html
@@ -1,22 +1,26 @@
- 0">
-
+
+
-
+
{{entry.value}}
-
- {{entry.value | dsTruncate:[150]}}
-
-
- {{'submission.sections.upload.no-entry' | translate}} {{entry.key}}
+
+ {{'submission.sections.upload.no-entry' | translate}} {{fileTitleKey}}
-
- {{'submission.sections.upload.no-entry' | translate}} {{entry.key}}
-
+
+
+
+
+ {{entry.value | dsTruncate:[150]}}
+
+
+ {{'submission.sections.upload.no-entry' | translate}} {{fileDescrKey}}
+
+
diff --git a/src/app/submission/sections/upload/file/view/file-view.component.spec.ts b/src/app/submission/sections/upload/file/view/file-view.component.spec.ts
index 5fbc0fadd8..4b3710661e 100644
--- a/src/app/submission/sections/upload/file/view/file-view.component.spec.ts
+++ b/src/app/submission/sections/upload/file/view/file-view.component.spec.ts
@@ -8,6 +8,7 @@ import { mockUploadFiles } from '../../../../../shared/mocks/mock-submission';
import { FormComponent } from '../../../../../shared/form/form.component';
import { UploadSectionFileViewComponent } from './file-view.component';
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
+import { Metadata } from '../../../../../core/shared/metadata.model';
describe('UploadSectionFileViewComponent test suite', () => {
@@ -74,10 +75,14 @@ describe('UploadSectionFileViewComponent test suite', () => {
it('should init metadata array properly', () => {
comp.fileData = fileData;
+ const expectMetadataMap = {
+ [comp.fileTitleKey]: Metadata.all(fileData.metadata, 'dc.title'),
+ [comp.fileDescrKey]: [],
+ };
fixture.detectChanges();
- expect(comp.metadata.length).toBe(2);
+ expect(comp.metadata).toEqual(expectMetadataMap);
});
diff --git a/src/app/submission/sections/upload/file/view/file-view.component.ts b/src/app/submission/sections/upload/file/view/file-view.component.ts
index 0136b70c05..e2b28447fb 100644
--- a/src/app/submission/sections/upload/file/view/file-view.component.ts
+++ b/src/app/submission/sections/upload/file/view/file-view.component.ts
@@ -1,7 +1,9 @@
import { Component, Input, OnInit } from '@angular/core';
+
import { WorkspaceitemSectionUploadFileObject } from '../../../../../core/submission/models/workspaceitem-section-upload-file.model';
-import { Metadatum } from '../../../../../core/shared/metadatum.model';
import { isNotEmpty } from '../../../../../shared/empty.util';
+import { MetadataMap, MetadataValue } from '../../../../../core/shared/metadata.interfaces';
+import { Metadata } from '../../../../../core/shared/metadata.model';
@Component({
selector: 'ds-submission-upload-section-file-view',
@@ -10,20 +12,18 @@ import { isNotEmpty } from '../../../../../shared/empty.util';
export class UploadSectionFileViewComponent implements OnInit {
@Input() fileData: WorkspaceitemSectionUploadFileObject;
- public metadata: Metadatum[] = [];
+ public metadata: MetadataMap = Object.create({});
+ public fileTitleKey = 'Title';
+ public fileDescrKey = 'Description';
ngOnInit() {
if (isNotEmpty(this.fileData.metadata)) {
- this.metadata.push({
- key: 'Title',
- language: (this.fileData.metadata.hasOwnProperty('dc.title') ? this.fileData.metadata['dc.title'][0].language : ''),
- value: (this.fileData.metadata.hasOwnProperty('dc.title') ? this.fileData.metadata['dc.title'][0].value : '')
- });
- this.metadata.push({
- key: 'Description',
- language: (this.fileData.metadata.hasOwnProperty('dc.description') ? this.fileData.metadata['dc.description'][0].language : ''),
- value: (this.fileData.metadata.hasOwnProperty('dc.description') ? this.fileData.metadata['dc.description'][0].value : '')
- });
+ this.metadata[this.fileTitleKey] = Metadata.all(this.fileData.metadata, 'dc.title');
+ this.metadata[this.fileDescrKey] = Metadata.all(this.fileData.metadata, 'dc.description');
}
}
+
+ getAllMetadataValue(metadataKey): MetadataValue[] {
+ return Metadata.all(this.metadata, metadataKey);
+ }
}