mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
72 lines
2.0 KiB
TypeScript
72 lines
2.0 KiB
TypeScript
import { Component, Input, OnInit } from '@angular/core';
|
|
|
|
import { WorkspaceitemSectionUploadFileObject } from '../../../../../core/submission/models/workspaceitem-section-upload-file.model';
|
|
import { isNotEmpty } from '../../../../../shared/empty.util';
|
|
import { Metadata } from '../../../../../core/shared/metadata.utils';
|
|
import { MetadataMap, MetadataValue } from '../../../../../core/shared/metadata.models';
|
|
|
|
/**
|
|
* This component allow to show bitstream's metadata
|
|
*/
|
|
@Component({
|
|
selector: 'ds-submission-section-upload-file-view',
|
|
templateUrl: './section-upload-file-view.component.html',
|
|
})
|
|
export class SubmissionSectionUploadFileViewComponent implements OnInit {
|
|
|
|
/**
|
|
* The bitstream's metadata data
|
|
* @type {WorkspaceitemSectionUploadFileObject}
|
|
*/
|
|
@Input() fileData: WorkspaceitemSectionUploadFileObject;
|
|
|
|
/**
|
|
* The [[MetadataMap]] object
|
|
* @type {MetadataMap}
|
|
*/
|
|
public metadata: MetadataMap = Object.create({});
|
|
|
|
/**
|
|
* The bitstream's title key
|
|
* @type {string}
|
|
*/
|
|
public fileTitleKey = 'Title';
|
|
|
|
/**
|
|
* The bitstream's description key
|
|
* @type {string}
|
|
*/
|
|
public fileDescrKey = 'Description';
|
|
|
|
public fileFormat!: string;
|
|
|
|
public fileCheckSum!: {
|
|
checkSumAlgorithm: string;
|
|
value: string;
|
|
};
|
|
|
|
/**
|
|
* Initialize instance variables
|
|
*/
|
|
ngOnInit() {
|
|
if (isNotEmpty(this.fileData.metadata)) {
|
|
this.metadata[this.fileTitleKey] = Metadata.all(this.fileData.metadata, 'dc.title');
|
|
this.metadata[this.fileDescrKey] = Metadata.all(this.fileData.metadata, 'dc.description');
|
|
}
|
|
this.fileCheckSum = this.fileData.checkSum;
|
|
this.fileFormat = this.fileData.format.shortDescription;
|
|
}
|
|
|
|
/**
|
|
* Gets all matching metadata in the map(s)
|
|
*
|
|
* @param metadataKey
|
|
* The metadata key(s) in scope
|
|
* @returns {MetadataValue[]}
|
|
* The matching values
|
|
*/
|
|
getAllMetadataValue(metadataKey: string): MetadataValue[] {
|
|
return Metadata.all(this.metadata, metadataKey);
|
|
}
|
|
}
|