new rule in description form, based in dropdown list value, scroll toc, sections

This commit is contained in:
annampak 2017-11-08 15:54:22 +02:00
parent 2bf5153566
commit df89a1532f
4 changed files with 23 additions and 4 deletions

View File

@ -12,7 +12,7 @@
</div>
</div>
<ng-template #sectionHeader>
<ng-template *ngIf="shouldIShow(section);" #sectionHeader>
<h2>{{section.title}}</h2>
</ng-template>
</div>

View File

@ -36,8 +36,8 @@
[required]="field.required" [pattern] = "field.regex" (ngModelChange) = "toggleVisibility($event, field,false)"> <!--input or change event
on change event the listener is triggered on blur -->
<select *ngSwitchCase="'dropdown'" class="form-control" [id]="field.key" [formControlName]="field.key" [required]="field.required">
<option *ngFor="let opt of field.options" [value]="opt.key" (change)="toggleVisibility($event, field, true)" >{{opt.value}}</option>
<select *ngSwitchCase="'dropdown'" class="form-control" [id]="field.key" [formControlName]="field.key" [required]="field.required" (change)="toggleVisibility($event, field, false)">
<option *ngFor="let opt of field.options" [value]="opt.key" >{{opt.value}}</option>
</select>
<div *ngSwitchCase="'checkbox'" class="checkbox">

View File

@ -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) {

View File

@ -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});
}
}