Dialog navigation behavior

Dialogs present users with one or two navigation options, either finish or cancel. These two options are presented as buttons in the navigation frame at the bottom of the content window. If included, they behave according to the following guidelines:

Finish
A user clicks on the Finish or OK button to finish the wizard, and the following takes place:
  1. Check to see if the contents panel has finished loading. If not, return immediately and do nothing.
  2. Check to see if Finish has already been clicked. If so, return and do nothing. If not, set a flag to indicate that Finish has been clicked.
  3. Save the panel data.
  4. Validate the current panel data.
  5. Call the preSubmitHandler().
  6. If a finish command is specified, convert the model to XML and send it as a parameter to the finish command.
  7. Set a flag to indicate that the finish command button is finished executing.
  8. If an error occurs in the finish server command (performing an update or otherwise), the command redirects back to the navigation frame passing back the following two parameters:
    SubmitErrorMessage
    The translated error message to display to the user.
    SubmitErrorStatus
    Error status or error code.

    If the SubmitErrorStatus variable is passed in, then submitErrorHandler() is called with the preceding two variables as parameters. You are responsible for implementing this function in the JavaScript file to display the error message and redirect the user to the problematic input field based on the error code. If this function is not defined, a default alert window is displayed with the error message.

    If the SubmitErrorStatus is not passed in, then it is assumed that the finish command succeeded. At this point, the submitFinishHandler() function is called with the submitFinishMessage as a parameter, which was set in the controller command.

Cancel
Displays a cancel confirmation dialog. If the user clicks OK, submitCancelHandler() is called and then the parent frame's cancel method is run.