buildForm method
Implementation
List<Widget> buildForm() {
var listWidget = <Widget>[];
for (var element in formElements) {
if (element.controlConfig.isVisible) {
switch (element.controlType) {
case FormControlTypes.textInput:
case FormControlTypes.password:
case FormControlTypes.number:
case FormControlTypes.decimal:
listWidget.add(TextInput(element));
break;
case FormControlTypes.toggleSwitch:
listWidget.add(ToggleSwitch(element));
break;
case FormControlTypes.dropDown:
listWidget.add(DropDown(element));
break;
case FormControlTypes.groupedList:
listWidget.add(GroupedList(element));
break;
case FormControlTypes.groupedListSubForm:
listWidget.add(GroupedListSubForm(element));
break;
case FormControlTypes.subForm:
listWidget.add(SubFormView(element));
break;
case FormControlTypes.question:
listWidget.add(Question(element));
break;
}
}
}
if (!hideSaveBtn) {
listWidget.add(
ElevatedButton(
style: actionButtonStyle ??
ElevatedButton.styleFrom(
foregroundColor: Colors.white,
backgroundColor: ThemeData().primaryColor,
),
onPressed: () {
if (_formKey.currentState!.validate()) {
actionSave!(_formKey);
}
},
child: Text(actionSaveBtnText ?? 'Save'),
),
);
}
return listWidget;
}