generateForAnnotatedField method
String
generateForAnnotatedField(
- FieldElement element,
- ConstantReader annotation,
- BuildStep buildstep
override
Implementation
@override
String generateForAnnotatedField(FieldElement element, ConstantReader annotation, BuildStep buildstep) {
final buffer = StringBuffer();
final properties = Helpers.getClassProperties(FieldDropdown);
final map = Helpers.annotationToJson<FieldDropdown>(element, properties);
buffer.write('''
Widget ${element.name}FormField(BuildContext context, Map<String, dynamic> _formData, {required Function onSaved, required double width}) {
double maxWidth = 0;
final options = ${map['options'] ?? []};
for (var e in options) {
maxWidth = max(maxWidth, e['value'].toString().length * 1.0);
}
return ${dropdownHideUnderlineField(element.name, element.type.toString(), map)};
}
''');
return buffer.toString();
}