mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-15 14:03:06 +00:00
[CST-12043] feature: add primary bitstream switch
This commit is contained in:
@@ -8,11 +8,13 @@ import { SubmissionState } from '../../submission.reducers';
|
||||
import {
|
||||
DeleteUploadedFileAction,
|
||||
EditFileDataAction,
|
||||
EditFilePrimaryBitstreamAction,
|
||||
NewUploadedFileAction
|
||||
} from '../../objects/submission-objects.actions';
|
||||
import { submissionUploadedFileFromUuidSelector, submissionUploadedFilesFromIdSelector } from '../../selectors';
|
||||
import { submissionSectionDataFromIdSelector, submissionUploadedFileFromUuidSelector, submissionUploadedFilesFromIdSelector } from '../../selectors';
|
||||
import { isUndefined } from '../../../shared/empty.util';
|
||||
import { WorkspaceitemSectionUploadFileObject } from '../../../core/submission/models/workspaceitem-section-upload-file.model';
|
||||
import { WorkspaceitemSectionUploadObject } from 'src/app/core/submission/models/workspaceitem-section-upload.model';
|
||||
|
||||
/**
|
||||
* A service that provides methods to handle submission's bitstream state.
|
||||
@@ -27,6 +29,22 @@ export class SectionUploadService {
|
||||
*/
|
||||
constructor(private store: Store<SubmissionState>) {}
|
||||
|
||||
/**
|
||||
* Return submission's bitstream data from state
|
||||
*
|
||||
* @param submissionId
|
||||
* The submission id
|
||||
* @param sectionId
|
||||
* The section id
|
||||
* @returns {WorkspaceitemSectionUploadObject}
|
||||
* Returns submission's bitstream data
|
||||
*/
|
||||
public getUploadedFilesData(submissionId: string, sectionId: string): Observable<WorkspaceitemSectionUploadObject> {
|
||||
return this.store.select(submissionSectionDataFromIdSelector(submissionId, sectionId)).pipe(
|
||||
map((state) => state),
|
||||
distinctUntilChanged());
|
||||
}
|
||||
|
||||
/**
|
||||
* Return submission's bitstream list from state
|
||||
*
|
||||
@@ -104,6 +122,22 @@ export class SectionUploadService {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update primary bitstream into the state
|
||||
*
|
||||
* @param submissionId
|
||||
* The submission id
|
||||
* @param sectionId
|
||||
* The section id
|
||||
* @param fileUUID
|
||||
* The bitstream UUID
|
||||
*/
|
||||
public updateFilePrimaryBitstream(submissionId: string, sectionId: string, fileUUID: string) {
|
||||
this.store.dispatch(
|
||||
new EditFilePrimaryBitstreamAction(submissionId, sectionId, fileUUID)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update bitstream metadata into the state
|
||||
*
|
||||
|
Reference in New Issue
Block a user