transformField method
May be used to transform the generated DogStructureField before it is added to the DogStructure.
Implementation
@override
DogStructureField transformField(DogStructureField field, SchemaType schema) {
String? itemLabel;
String? addButtonLabel;
bool isModified = false;
if (schema.properties.containsKey(DogsFlutterSchemaTags.listBindingItemLabel)) {
var value = schema[DogsFlutterSchemaTags.listBindingItemLabel] as String?;
itemLabel = value;
isModified = true;
}
if (schema.properties.containsKey(DogsFlutterSchemaTags.listBindingAddButtonLabel)) {
var value = schema[DogsFlutterSchemaTags.listBindingAddButtonLabel] as String?;
addButtonLabel = value;
isModified = true;
}
if (schema.type == SchemaCoreType.array && isModified) {
field = field.copy(
annotations:
field.annotations +
[ListBindingStyle(itemLabel: itemLabel, addButtonLabel: addButtonLabel)],
);
}
return field;
}