ButtonController<T> constructor
ButtonController<T> ({
- FDBState initialState = FDBState.disabled,
- bool enabled = false,
- void onStateChange()?,
- required Future<
T> onPressed(), - void onSuccess(
- T value
- dynamic onError(
- dynamic error,
- dynamic stackTrace
- dynamic onAbort()?,
- Duration? abortStateDuration,
- Duration? errorStateDuration,
- Duration? successStateDuration,
- required Duration debounceDuration,
- Duration? timeout,
- required State<
StatefulWidget> obj,
Implementation
ButtonController(
{FDBState initialState = FDBState.disabled,
this.enabled = false,
this.onStateChange,
required this.onPressed,
this.onSuccess,
this.onError,
this.onAbort,
this.abortStateDuration,
this.errorStateDuration,
this.successStateDuration,
required this.debounceDuration,
this.timeout,
required this.obj})
: _state = StreamController<FDBState>() {
state = _state.stream.asBroadcastStream();
_stateSink = _state.sink;
newState = initialState;
_onStateChangeSubscription = state.listen((FDBState state) {
_currentState = state;
_processStateChange(state);
if (onStateChange != null) {
onStateChange!(state);
}
});
}