formatForm method
Returns a 2D list of form fields
country
is an ISO 3166-1 alpha-2 country code.
Implementation
List<AddressFormFieldInformation> formatForm(String country) {
final fields = <AddressFormFieldInformation>[];
final addressFormat = _getAddressFormat(country);
for (final field in addressFormat.formFormat) {
final labels = addressFormat.fieldLabels[field]!;
final label = labels[_language] ?? labels[labels.keys.first]!;
final descriptions = addressFormat.fieldDescriptions[field];
final description =
descriptions?[_language] ?? descriptions?[descriptions.keys.first];
Map<String, String>? availableValues;
if (field == AddressFormField.zone &&
addressFormat.zoneNames.isNotEmpty) {
availableValues = addressFormat.zoneNames.map((zoneCode, names) {
final zoneName = names[_language] ?? names[names.keys.first]!;
return MapEntry(zoneCode, zoneName);
});
}
fields.add(
AddressFormFieldInformation(
_language,
field,
label: label,
description: description,
obligatory: addressFormat.obligatoryFormFields.contains(field),
availableValues: availableValues,
),
);
}
return fields;
}