streetAddressInput method
Implementation
Widget streetAddressInput(BuildContext context) {
return Container(
margin: const EdgeInsets.symmetric(vertical: (10)),
child: CustomTextFieldWidget(
controller: controller.streetAddressController,
keyboardType: TextInputType.text,
addHint: true,
validator: (value) => Validators.validateEmpty(value),
hintText: Strings.enterStreetAddress,
inputFormatters: [
FilteringTextInputFormatter.deny(RegExp('[\\.|\\,]')),
],
textInputAction: TextInputAction.next,
onTap: () async {
// generate a new token here
final sessionToken = const Uuid().v4();
final Suggestion? result = await showSearch(
context: context,
delegate: AddressSearch(sessionToken),
);
// This will change the text displayed in the TextField
if (result != null) {
final placeDetails = await PlaceApiProvider(sessionToken)
.getPlaceDetailFromId(result.placeId);
controller.streetAddressController.text =
'${placeDetails.streetNumber ?? ''} ${placeDetails.street ?? ''}'; //placeDetails.street??
controller.city.text = placeDetails.city ?? '';
controller.zipCodeController.text = placeDetails.zipCode ?? '';
controller.state.text = placeDetails.state ?? '';
controller.country.text = placeDetails.country ?? '';
controller.update();
}
},
),
);
}