mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 18:14:17 +00:00
Fixed issue with upload section
This commit is contained in:
@@ -155,7 +155,11 @@ export class UploadSectionFileComponent implements OnChanges, OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (isNotEmpty(accessConditionsToSave)) {
|
||||||
this.operationsBuilder.add(this.pathCombiner.getPath('accessConditions'), accessConditionsToSave, true);
|
this.operationsBuilder.add(this.pathCombiner.getPath('accessConditions'), accessConditionsToSave, true);
|
||||||
|
}
|
||||||
|
|
||||||
this.operationsService.jsonPatchByResourceID(
|
this.operationsService.jsonPatchByResourceID(
|
||||||
this.submissionService.getSubmissionObjectLinkName(),
|
this.submissionService.getSubmissionObjectLinkName(),
|
||||||
this.submissionId,
|
this.submissionId,
|
||||||
|
@@ -35,7 +35,7 @@
|
|||||||
[availableAccessConditionOptions]="availableAccessConditionOptions"
|
[availableAccessConditionOptions]="availableAccessConditionOptions"
|
||||||
[collectionId]="collectionId"
|
[collectionId]="collectionId"
|
||||||
[collectionPolicyType]="collectionPolicyType"
|
[collectionPolicyType]="collectionPolicyType"
|
||||||
[configMetadataForm]="configMetadataForm"
|
[configMetadataForm]="(configMetadataForm$ | async)"
|
||||||
[fileId]="fileIndexes[fileList.indexOf(fileEntry)]"
|
[fileId]="fileIndexes[fileList.indexOf(fileEntry)]"
|
||||||
[fileIndex]="fileList.indexOf(fileEntry)"
|
[fileIndex]="fileList.indexOf(fileEntry)"
|
||||||
[fileName]="fileNames[fileList.indexOf(fileEntry)]"
|
[fileName]="fileNames[fileList.indexOf(fileEntry)]"
|
||||||
|
@@ -48,7 +48,7 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
*/
|
*/
|
||||||
public collectionPolicyType;
|
public collectionPolicyType;
|
||||||
|
|
||||||
public configMetadataForm: SubmissionFormsModel;
|
public configMetadataForm$: Observable<SubmissionFormsModel>;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* List of available access conditions that could be setted to files
|
* List of available access conditions that could be setted to files
|
||||||
@@ -74,6 +74,13 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
const config$ = this.uploadsConfigService.getConfigByHref(this.sectionData.config)
|
||||||
|
.flatMap((config) => config.payload);
|
||||||
|
|
||||||
|
this.configMetadataForm$ = config$
|
||||||
|
.take(1)
|
||||||
|
.map((config: SubmissionUploadsModel) => config.metadata[0]);
|
||||||
|
|
||||||
this.subs.push(
|
this.subs.push(
|
||||||
this.store.select(submissionObjectFromIdSelector(this.submissionId))
|
this.store.select(submissionObjectFromIdSelector(this.submissionId))
|
||||||
.filter((submissionObject: SubmissionObjectEntry) => isNotUndefined(submissionObject) && !submissionObject.isLoading)
|
.filter((submissionObject: SubmissionObjectEntry) => isNotUndefined(submissionObject) && !submissionObject.isLoading)
|
||||||
@@ -86,19 +93,8 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
.subscribe((collectionData) => {
|
.subscribe((collectionData) => {
|
||||||
this.collectionName = collectionData.payload.name;
|
this.collectionName = collectionData.payload.name;
|
||||||
|
|
||||||
console.log(collectionData.payload.defaultAccessConditions);
|
|
||||||
const defaultAccessConditions$ = collectionData.payload.defaultAccessConditions
|
|
||||||
|| Observable.of(
|
|
||||||
new RemoteData(
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
undefined,
|
|
||||||
undefined
|
|
||||||
));
|
|
||||||
|
|
||||||
// Default Access Conditions
|
// Default Access Conditions
|
||||||
this.subs.push(defaultAccessConditions$
|
this.subs.push(collectionData.payload.defaultAccessConditions
|
||||||
.filter((accessConditions) => isNotUndefined((accessConditions.payload)))
|
.filter((accessConditions) => isNotUndefined((accessConditions.payload)))
|
||||||
.take(1)
|
.take(1)
|
||||||
.subscribe((defaultAccessConditions) => {
|
.subscribe((defaultAccessConditions) => {
|
||||||
@@ -109,13 +105,11 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Edit Form Configuration, access policy list
|
// Edit Form Configuration, access policy list
|
||||||
this.subs.push(this.uploadsConfigService.getConfigByHref(this.sectionData.config)
|
this.subs.push(config$
|
||||||
.flatMap((config) => config.payload)
|
|
||||||
.take(1)
|
.take(1)
|
||||||
.subscribe((config: SubmissionUploadsModel) => {
|
.subscribe((config: SubmissionUploadsModel) => {
|
||||||
this.availableAccessConditionOptions = isNotEmpty(config.accessConditionOptions) ? config.accessConditionOptions : [];
|
this.availableAccessConditionOptions = isNotEmpty(config.accessConditionOptions) ? config.accessConditionOptions : [];
|
||||||
|
|
||||||
this.configMetadataForm = config.metadata[0];
|
|
||||||
this.collectionPolicyType = this.availableAccessConditionOptions.length > 0
|
this.collectionPolicyType = this.availableAccessConditionOptions.length > 0
|
||||||
? POLICY_DEFAULT_WITH_LIST
|
? POLICY_DEFAULT_WITH_LIST
|
||||||
: POLICY_DEFAULT_NO_LIST;
|
: POLICY_DEFAULT_NO_LIST;
|
||||||
@@ -160,11 +154,13 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
,
|
,
|
||||||
this.bitstreamService
|
Observable.combineLatest(this.configMetadataForm$,
|
||||||
.getUploadedFileList(this.submissionId, this.sectionData.id)
|
this.bitstreamService.getUploadedFileList(this.submissionId, this.sectionData.id))
|
||||||
.filter((bitstreamList) => isNotUndefined(bitstreamList))
|
.filter(([configMetadataForm, fileList]:[SubmissionFormsModel, any[]]) => {
|
||||||
|
return isNotEmpty(configMetadataForm) && isNotUndefined(fileList)
|
||||||
|
})
|
||||||
.distinctUntilChanged()
|
.distinctUntilChanged()
|
||||||
.subscribe((fileList: any[]) => {
|
.subscribe(([configMetadataForm, fileList]:[SubmissionFormsModel, any[]]) => {
|
||||||
let sectionStatus = false;
|
let sectionStatus = false;
|
||||||
this.fileList = [];
|
this.fileList = [];
|
||||||
this.fileIndexes = [];
|
this.fileIndexes = [];
|
||||||
@@ -174,7 +170,7 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
fileList.forEach((file) => {
|
fileList.forEach((file) => {
|
||||||
this.fileList.push(file);
|
this.fileList.push(file);
|
||||||
this.fileIndexes.push(file.uuid);
|
this.fileIndexes.push(file.uuid);
|
||||||
this.fileNames.push(this.getFileName(file));
|
this.fileNames.push(this.getFileName(configMetadataForm, file));
|
||||||
});
|
});
|
||||||
sectionStatus = true;
|
sectionStatus = true;
|
||||||
}
|
}
|
||||||
@@ -187,8 +183,8 @@ export class UploadSectionComponent extends SectionModelComponent implements OnI
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private getFileName(fileData: any): string {
|
private getFileName(configMetadataForm: SubmissionFormsModel, fileData: any): string {
|
||||||
const metadataName: string = this.configMetadataForm.rows[0].fields[0].selectableMetadata[0].metadata;
|
const metadataName: string = configMetadataForm.rows[0].fields[0].selectableMetadata[0].metadata;
|
||||||
let title: string;
|
let title: string;
|
||||||
if (isNotEmpty(fileData.metadata) && isNotEmpty(fileData.metadata[metadataName])) {
|
if (isNotEmpty(fileData.metadata) && isNotEmpty(fileData.metadata[metadataName])) {
|
||||||
title = fileData.metadata[metadataName][0].display;
|
title = fileData.metadata[metadataName][0].display;
|
||||||
|
Reference in New Issue
Block a user