addCompletionCallback method
FormStack
addCompletionCallback(
- Identifier identifier, {
- String? formName = "default",
- dynamic onFinish()?,
- OnBeforeFinishCallback? onBeforeFinishCallback,
Add the completion handler to add you logic when the form finish
Implementation
FormStack addCompletionCallback(
Identifier identifier, {
String? formName = "default",
Function(Map<String, dynamic>)? onFinish,
OnBeforeFinishCallback? onBeforeFinishCallback,
}) {
FormStackForm? formStack = _forms[formName];
if (formStack != null) {
for (var entry in formStack.steps) {
if (entry is NestedStep) {
if (entry.id?.id == identifier.id) {
entry.onFinish = onFinish;
if (onBeforeFinishCallback != null) {
log("onBeforeFinishCallback is not supported for NestedStep");
}
} else {
entry.steps?.forEach((element) {
if (element is CompletionStep) {
if (element.id?.id == identifier.id) {
element.onFinish = onFinish;
element.onBeforeFinishCallback = onBeforeFinishCallback;
}
} else if (element is QuestionStep) {
if (element.id?.id == identifier.id) {
element.onFinish = onFinish;
}
}
});
}
} else if (entry is CompletionStep) {
if (entry.id?.id == identifier.id) {
entry.onFinish = onFinish;
entry.onBeforeFinishCallback = onBeforeFinishCallback;
}
} else if (entry is QuestionStep) {
if (entry.id?.id == identifier.id) {
entry.onFinish = onFinish;
}
}
}
}
return this;
}