addCompletionCallback method

FormStack addCompletionCallback(
  1. Identifier identifier, {
  2. String? formName = "default",
  3. dynamic onFinish(
    1. Map<String, dynamic>
    )?,
  4. 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;
}