onActionPressed property
void Function()?
get
onActionPressed
Implementation
void Function()? get onActionPressed => !enabled ||
_currentState == FDBState.disabled ||
_currentState == FDBState.running && !abortCanBePressed && isAbortable
? null
: () async {
if (debounceDuration != Duration.zero) {
abortCanBePressed = false;
} else {
abortCanBePressed = true;
}
newState = FDBState.running;
future = onPressed().then((T value) {
if (_currentState == FDBState.running) {
newState = FDBState.success;
onSuccess?.call(value);
}
}).onError((error, stackTrace) {
newState = FDBState.error;
onError?.call(error, stackTrace);
});
if (timeout != null) {
future?.timeout(timeout!, onTimeout: () {
newState = FDBState.error;
onError?.call(
TimeoutException('Request timed out', timeout), null);
});
}
if (debounceDuration != Duration.zero) {
Future.delayed(debounceDuration).then((value) {
abortCanBePressed = true;
// ignore: invalid_use_of_protected_member
if (obj.mounted) obj.setState(() {});
});
}
};