StateOutlinedButton.future constructor
StateOutlinedButton.future({})
StateOutlinedButton with states = null
and without use global key.
The state will be ButtonState.progressing when futureOnTab
start
and end with ButtonState return in futureOnTab
Implementation
factory StateOutlinedButton.future(
{Key? key,
required StateFutureFunction<Set<ButtonState>> futureOnTab,
required Widget initial,
Widget? icon,
Widget? loaderIcon,
Widget? successIcon,
Widget? failIcon,
Widget? disableIcon,
Widget? fail,
Widget? success,
Widget? loader,
Widget? disable,
ButtonStyle? style,
bool hasState = true}) {
Future _future(CustomState<dynamic, ButtonState> customState) async {
customState.updateCustomState(ButtonState.progressing).call(true);
final states = await futureOnTab(currentState: customState.customState);
customState.replaceCustomState(states);
}
return StateOutlinedButton(
key: key,
onTap: (CustomState<StateOutlinedButton, ButtonState> customState) {
_future(customState);
},
initial: initial,
icon: icon,
loaderIcon: loaderIcon,
failIcon: failIcon,
successIcon: successIcon,
style: style,
fail: fail,
success: success,
loader: loader,
disable: disable,
disableIcon: disableIcon,
);
}