getSuffix method
Returns the suffix widget.
Priority order:
- Spinning progress indicator while isCheckingUniqueField is true.
- Explicit BlocXTextFieldOptions.suffix if set.
- Clear button if BlocXTextFieldOptions.showClearButton is true and the field has text.
Implementation
Widget? getSuffix(BlocXTextFieldOptions o) {
if (isCheckingUniqueField) {
return SizedBox.square(
dimension: 8,
child: CircularProgressIndicator(color: colorScheme.primary, padding: EdgeInsets.all(8)),
);
}
if (o.suffix != null) return o.suffix;
final bool canShowClear = o.showClearButton && _controller.text.isNotEmpty;
return canShowClear
? IconButton(
visualDensity: VisualDensity.compact,
tooltip: MaterialLocalizations.of(context).deleteButtonTooltip,
icon: const Icon(Icons.clear),
onPressed: _controller.text.isEmpty
? null
: () {
_controller.clear();
bloc.add(BlocxFormEventUpdateData(data: '', key: widget.formKey));
setState(() {});
},
)
: null;
}