From df89a1532f6fb847db5d964a260c398b55eb783c Mon Sep 17 00:00:00 2001 From: annampak Date: Wed, 8 Nov 2017 15:54:22 +0200 Subject: [PATCH] new rule in description form, based in dropdown list value, scroll toc, sections --- .../src/app/form/dynamic-form.component.html | 2 +- .../fields/dynamic-form-field.component.html | 4 ++-- .../fields/dynamic-form-field.component.ts | 19 +++++++++++++++++++ .../app/form/tableOfContents/toc.component.ts | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/dmp-frontend/src/app/form/dynamic-form.component.html b/dmp-frontend/src/app/form/dynamic-form.component.html index 69c1a97e0..f1886194e 100644 --- a/dmp-frontend/src/app/form/dynamic-form.component.html +++ b/dmp-frontend/src/app/form/dynamic-form.component.html @@ -12,7 +12,7 @@ - +

{{section.title}}

diff --git a/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html b/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html index 129ccab91..c4cf4f877 100644 --- a/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html +++ b/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html @@ -36,8 +36,8 @@ [required]="field.required" [pattern] = "field.regex" (ngModelChange) = "toggleVisibility($event, field,false)"> - +
diff --git a/dmp-frontend/src/app/form/fields/dynamic-form-field.component.ts b/dmp-frontend/src/app/form/fields/dynamic-form-field.component.ts index e6c75b705..3b272eb8c 100644 --- a/dmp-frontend/src/app/form/fields/dynamic-form-field.component.ts +++ b/dmp-frontend/src/app/form/fields/dynamic-form-field.component.ts @@ -127,6 +127,25 @@ export class DynamicFormFieldComponent { this.hideField(targetField, rule); } } + if (rule._ruleStyle == "dropdownValue" ) { //dropdown field + let fieldValue = this.form.get(field.key).value; + let ruleValue; + let ruleValueBoolean = false ; + if (rule.value.length) + rule.value.forEach(value => { + if (fieldValue.toString() == value.__text) + ruleValueBoolean = true; + return; + }); + else + ruleValue = rule.value.__text; + if (fieldValue.toString() == ruleValue || ruleValueBoolean.valueOf() == true) { //field.value.value.toString() == ruleValue + targetField.visible = true; + this.AddvalidationRules(rule._target); + } else { + this.hideField(targetField, rule); + } + } } hideField(targetField, rule) { diff --git a/dmp-frontend/src/app/form/tableOfContents/toc.component.ts b/dmp-frontend/src/app/form/tableOfContents/toc.component.ts index a9a8290c3..c0fd4bb1a 100644 --- a/dmp-frontend/src/app/form/tableOfContents/toc.component.ts +++ b/dmp-frontend/src/app/form/tableOfContents/toc.component.ts @@ -30,7 +30,7 @@ export class TocComponent implements OnInit{ console.log("going to id:"+elemID) var page = parseInt(_page) this.setPage.emit(page); - scroll("#"+elemID); + scroll("#"+elemID, {}, {offset: top}); } } \ No newline at end of file