From 74ec2126f0f309432e9d9f5270ae35df90466ef7 Mon Sep 17 00:00:00 2001 From: Kristan Ntavidi Date: Wed, 6 Oct 2021 16:32:06 +0300 Subject: [PATCH] Visibility Rules fix * Reduce sourceValue visibility value based on logic. --- .../visibility-rules/visibility-rules.service.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service.ts index ea4f32950..96859fffb 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service.ts @@ -69,12 +69,13 @@ export class VisibilityRulesService { } else { const visibilityDependencySource = visibilityRule.sourceVisibilityRules.filter(x => x.sourceControlId === sourceId); - visibilityDependencySource.forEach(x => { + const shouldBeVisible = visibilityDependencySource.reduce((isVisible, x) => { const shouldBeHidden = value !== null && (this.parseValue(value) !== this.parseValue(x.sourceControlValue)); + return this.VISIBILITY_RULE_LOGIC === 'OR'? (isVisible || !shouldBeHidden) : (isVisible && !shouldBeHidden); // if(value !== null && ) - visibilityMap.set(sourceId, !shouldBeHidden); - }); + }, this.VISIBILITY_RULE_LOGIC === 'AND'); + visibilityMap.set(sourceId, shouldBeVisible); }