buildButton method
Widget
buildButton(
- BuildContext context,
- TFormBloc formBloc,
- FormBlocState<
TSuccess, TFailure> state
Implementation
@override
Widget buildButton(
BuildContext context,
TFormBloc formBloc,
FormBlocState<TSuccess, TFailure> state,
) {
final onPressed = canSubmit(state) ? () => submit(formBloc) : null;
final child = buildLabel(context, state);
final icon = buildIcon(context, state);
switch (_type) {
case _SubmitButtonType.text:
return icon != null
? TextButton.icon(
onPressed: onPressed,
onLongPress: onLongPress,
style: style,
focusNode: focusNode,
autofocus: autofocus,
clipBehavior: clipBehavior,
icon: icon,
label: child,
)
: TextButton(
onPressed: onPressed,
onLongPress: onLongPress,
style: style,
focusNode: focusNode,
autofocus: autofocus,
clipBehavior: clipBehavior,
child: child,
);
case _SubmitButtonType.elevated:
return icon != null
? ElevatedButton.icon(
onPressed: onPressed,
onLongPress: onLongPress,
style: style,
focusNode: focusNode,
autofocus: autofocus,
clipBehavior: clipBehavior,
icon: icon,
label: child,
)
: ElevatedButton(
onPressed: onPressed,
onLongPress: onLongPress,
style: style,
focusNode: focusNode,
autofocus: autofocus,
clipBehavior: clipBehavior,
child: child,
);
case _SubmitButtonType.outlined:
return icon != null
? OutlinedButton.icon(
onPressed: onPressed,
onLongPress: onLongPress,
style: style,
focusNode: focusNode,
autofocus: autofocus,
clipBehavior: clipBehavior,
label: child,
icon: icon,
)
: OutlinedButton(
onPressed: onPressed,
onLongPress: onLongPress,
style: style,
focusNode: focusNode,
autofocus: autofocus,
clipBehavior: clipBehavior,
child: child,
);
}
}