Files
dspace-angular/src/app/submission/sections/upload/file/view/section-upload-file-view.component.ts
2023-09-08 11:51:42 -06:00

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);
}
}