mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Merge pull request #4361 from DSpace/backport-4360-to-dspace-8_x
[Port dspace-8_x] Fix and simplify submission section 'enabled' logic
This commit is contained in:
@@ -97,11 +97,13 @@ export class SubmissionObjectEffects {
|
||||
const sectionId = selfLink.substr(selfLink.lastIndexOf('/') + 1);
|
||||
const config = sectionDefinition._links.config ? (sectionDefinition._links.config.href || sectionDefinition._links.config) : '';
|
||||
// A section is enabled if it is mandatory or contains data in its section payload
|
||||
// except for detect duplicate steps which will be hidden with no data unless overridden in config, even if mandatory
|
||||
const enabled = (sectionDefinition.mandatory && (sectionDefinition.sectionType !== SectionsType.Duplicates))
|
||||
|| (isNotEmpty(action.payload.sections) && action.payload.sections.hasOwnProperty(sectionId)
|
||||
&& (sectionDefinition.sectionType === SectionsType.Duplicates && (alwaysDisplayDuplicates() || isNotEmpty((action.payload.sections[sectionId] as WorkspaceitemSectionDuplicatesObject).potentialDuplicates)))
|
||||
);
|
||||
let enabled = (sectionDefinition.mandatory || (isNotEmpty(action.payload.sections) && action.payload.sections.hasOwnProperty(sectionId)));
|
||||
|
||||
// Duplicates will ignore mandatory and display only when "always display" is set or there is data to show
|
||||
if (sectionDefinition.sectionType === SectionsType.Duplicates) {
|
||||
enabled = (alwaysDisplayDuplicates() || isNotEmpty((action.payload.sections[sectionId] as WorkspaceitemSectionDuplicatesObject).potentialDuplicates));
|
||||
}
|
||||
|
||||
let sectionData;
|
||||
if (sectionDefinition.sectionType !== SectionsType.SubmissionForm) {
|
||||
sectionData = (isNotUndefined(action.payload.sections) && isNotUndefined(action.payload.sections[sectionId])) ? action.payload.sections[sectionId] : Object.create(null);
|
||||
|
Reference in New Issue
Block a user