fieldset with multiplicity
This commit is contained in:
parent
2936e1d37c
commit
a638c46b3b
|
@ -11,9 +11,12 @@
|
|||
<div *ngFor="let field of group.compositeFields.groupFields" >
|
||||
<df-field [field]="field" [form]="form" [dataModel] = "dataModel"></df-field>
|
||||
</div>
|
||||
<div *ngIf = "shouldIShow()">
|
||||
<a (click)="addFieldSet(form)" style="cursor: default">
|
||||
Add another fieldSet +
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -71,10 +71,12 @@ export class DynamicFormGroupComponent implements OnInit {
|
|||
}
|
||||
|
||||
shouldIShow(){
|
||||
let show = false;
|
||||
this.group.compositeFields.groupFields.forEach((field, i )=>{
|
||||
if(field.visible)
|
||||
return true;
|
||||
show = true;
|
||||
})
|
||||
return show;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -165,11 +165,14 @@ export class dataModelBuilder {
|
|||
let compositeFields = new GroupBase();
|
||||
newfldGroup.groupFields = new Array();
|
||||
compositeFields.groupFields = new Array();
|
||||
|
||||
|
||||
fields.forEach(field => {
|
||||
if (fieldGroup._id == field.group) {
|
||||
if (dataValues != "")//--------------------------SET VALUES---------------------------------------------------------------------------------------
|
||||
if (dataValues[fieldGroup._id][field.key] != undefined) // to put values in fields
|
||||
field.value = dataValues[fieldGroup._id][field.key].value == undefined ? dataValues[fieldGroup._id][field.key] : dataValues[fieldGroup._id][field.key].value;
|
||||
|
||||
if(field.order.toString().split(",").length > 1){//--------------Composite Fields Multiplicity --------------------------------------------------
|
||||
compositeFields.groupFields.push(field);
|
||||
newfldGroup.compositeFields = compositeFields;
|
||||
|
@ -178,8 +181,32 @@ export class dataModelBuilder {
|
|||
} else {
|
||||
//this.dataModel.fields.push(field);
|
||||
}
|
||||
if (dataValues[fieldGroup._id][field.key] != undefined){
|
||||
let keys = new Array<string>();
|
||||
Object.keys(dataValues[fieldGroup._id]).forEach(key=>{if(key.startsWith(field.key+"_"))keys.push(key)})
|
||||
if (keys.length)
|
||||
if (field.controlType == "textbox") {
|
||||
let newfield: FieldBase<any>;
|
||||
let rule = new Rule();
|
||||
newfield = new TextboxField({
|
||||
label: field.label+"_"+ 1,
|
||||
key: keys[0],
|
||||
value: dataValues[fieldGroup._id][keys[0]].value,
|
||||
order: field.order,
|
||||
rules: field.rules,
|
||||
visible: field.visible,
|
||||
group: field.group,
|
||||
description: field.description
|
||||
});debugger;
|
||||
newfldGroup.groupFields.push(newfield);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
newfldGroup.title = fieldGroup.title.__cdata;
|
||||
newfldGroup.key = fieldGroup._id;
|
||||
newfldGroup.section = fieldGroup._section;
|
||||
|
|
Loading…
Reference in New Issue