HotDocs JavaScript API
    Preparing search index...

    Class HD$

    Index

    Constructors

    Accessors

    • get InInterview(): boolean

      Indicates whether or not the interview is currently displayed.

      Returns boolean

      Returns true if the interview is currently visible; false if not.

    • get InPopupInterview(): boolean

      Indicates whether or not a popup interview is currently displayed. A popup interview is displayed when the user clicks a script link dialog element that causes additional variables or dialogs to be asked.

      Returns boolean

      Returns true if a popup interview is currently visible; false if not.

    Methods

    • Attaches an assembly session.

      Parameters

      • sessionID: string
      • serviceMetadataUrl: string
      • OptionalinterviewOptions: IInterviewOptions

      Returns void

    • Indicates whether or not a view (page) of the interview is available. This can be used to avoid calling [[SwitchView]] if the target view is unavailable.

      Parameters

      • viewName: InterviewPage

        The view to be displayed: Interview, AnswerSummary, DocumentPreview.

      Returns boolean

    • Detaches the current assembly session.

      Returns void

    • Returns a string (up to 70 characters in length) that represents the user's current location in the interview, including the input field that contains the focus. The bookmark from this method is used as the input to the [[GotoInterviewBookmark]] method to return the user to that same location in the interview.

      If the current answer set changes between the time the bookmark is created and when it is used, the bookmark may no longer be valid. For example, if you create a bookmark to the 5th repetition of a repeated dialog, but later delete answers so there are only four repetitions, that bookmark will no longer be valid.

      var interviewOptions = {
      OnInit: function ()
      {
      HD$.RegisterHandler("PreHDSubmit",
      function (eventArgs)
      {
      if (eventArgs.Context == "InterviewComplete")
      {
      var viewState = document.getElementById("__VIEWSTATE");
      if (viewState)
      fieldArray["__VIEWSTATE"] = viewState.value;
      }
      eventArgs.FieldArray["InterviewBookmark"] = HD$.GetInterviewBookmark();
      }
      );
      }
      };

      Returns string

      The requested interview bookmark.

    • Returns the current answer set as JSON.

      Parameters

      • OptionalsynchronizeAnswers: boolean

      Returns any

    • Indicates whether or not the specified interview UI element is visible.

      Parameters

      • element: InterviewElement

        The UI element to show or hide: Toolbar, AnswerSummary, DocumentPreview

      Returns boolean

    • Navigates the user to a specific dialog in the interview, and moves the focus to a designated field within that dialog. If the bookmark is invalid, or the location is no longer part of the interview, no navigation takes place.

      If the current answer set changes between the time the bookmark is created and when it is passed into the bookmark parameter, the bookmark may no longer be valid. For example, if you create a bookmark to the 5th repetition of a repeated dialog, but later delete answers so there are only four repetitions, that bookmark will no longer be valid.

      Calling [[GotoInterviewBookmark]] with an invalid bookmark string will not have any effect.

      var interviewOptions = {
      OnInit: function ()
      {
      HD$.RegisterHandler("OnHDStart",
      function (eventArgs) { HD$.GotoInterviewBookmark('Job Information|1'); }
      );
      }
      };

      Parameters

      • bookmark: string

        An interview bookmark string, as generated by [[GetInterviewBookmark]].

      Returns void

    • Invokes an interview command.

      • ShowHelp: Shows a help page to aid the user in completing an interview.
      • ClosePopup: Forces a modal popup interview to close.

      Parameters

      Returns void

    • This function overlays the supplied answer JSON string over the answer set in the current interview.

      Where there is an answer in the JSON string that matches an interview variable by name and variable type, the interview variable will be updated with the new answer value. Where there is not a matching answer in the JSON, any existing answers in the interview will be unchanged.

      The supplied answer JSON must be in the correct format. For example:

      [{"n":"Employee Name","t":"TX","v":"John Smith"},{"n":"Employee Role","t":"TX","v":"Engineer"},{"n":"Holiday Days","t":"NU","v":30},{"n":"Employee Date of Birth","t":"DA","v":"15 05 1975"},{"n":"Employee Locations","t":"TL","v":{"v":["Aberdeen","Birmingham"]}}]
      

      You can get answer JSON from an interview using the [[GetJSONAnswers]] method.

      Parameters

      • answers: string

      Returns void

    • Registers an event handler for an associated variable component. The handler function is called when a user changes the answer of the variable in the interview.

      Parameters

      • variableName: string
      • handlerFunc: IEventHandlerFunction

        A JavaScript function that will be called any time the event for which it is registered occurs. It should accept a single parameter, eventArgs, the contents of which are described as follows:

        PropertyDescription>
        VariableNameThe name of the variable which the interview event is linked to
        ValueThe answer(s) held for the linked variable

      Returns void

    • Registers an event handler for an Interview Event Dialog Element. The handler function is called when a user clicks the dialog element's button.

      Parameters

      • eventName: string

        A string representing the name of the Interview Event Dialog Element to subscribe to.

      • handlerFunc: IEventHandlerFunction

        A JavaScript function that will be called any time the event for which it is registered occurs. It should accept a single parameter, eventArgs, the contents of which are described as follows:

        PropertyDescription>
        VariableNameThe name of the dialog element which the interview event is linked to
        ValueThe answer(s) held for the linked variable

      Returns void

    • Registers event handlers for various interview events. If necessary the event handler can later be unregistered using the [[UnregisterHandler]] method. RegisterHandler can be used to register for the following interview events:

      • OnHDStart: This event fires when an interview is fully loaded and initialized in the browser, but before the user has a chance to interact with the interview. For example, if you want to dictate that the user should begin the interview at any dialog besides the first one, you could register for this event and call the [[GotoInterviewBookmark]] method to set an alternate starting point for the user's interview.

        The EventArgs object passed to your event handler does not have any properties.

      • OnHDNavigated: This event fires when the user navigates to a new dialog, including the dialog first displayed when starting the interview. It is fired after the dialog script has run for the new dialog, and after the display has been updated. (In the case of the first dialog, it is fired after the OnHDStart event.)

        The EventArgs object passed to your event handler has the following properties:

        PropertyDescription
        DialogNameThe name of the dialog to which the user has navigated.

      • PreHDNavigate: This event fires at the time the user attempts to navigate away from a dialog. It fires after any pending answer changes have been saved, but before focus has actually moved away from the current dialog.

        The EventArgs object passed to your event handler has the following properties:

        PropertyDescription
        DialogNameThis is the name of the dialog the user is attempting to leave.
        DialogTitleThis is the title of the dialog the user is attempting to leave. If not set in the template, it will be an empty string.
        TargetNameThis is the name of the dialog to which the user is attempting to navigate.
        TargetTitleThis is the title of the dialog the user is attempting to navigate. If not set in the template, it will be an empty string.
        Cancel If you set this Boolean property to true, the user's attempt to navigate away from the dialog will be cancelled.

        Caution: If you cancel the user's navigation, it is strongly recommended that you supply a CancelMessage. If you do not, you should undertake some other means of communicating to the user why they are not being allowed to navigate away from the current dialog.

        CancelMessageIf navigation was cancelled and this property is a non-empty string, a message box is displayed to the user to indicate why navigation was cancelled.

      • OnHDFinish: This event fires when the user clicks the Finish button, after HotDocs first ensures that all required variables have been answered. You can use this function to perform custom answer validation and potentially cancel the user's action if needed.

        The EventArgs object when this event is called has the following properties:

        PropertyDescription
        CancelIf you set this Boolean property to true, the user's attempt to finish the interview will be cancelled, leaving them at the current dialog.
        CancelMessage If navigation was cancelled and this property is a non-empty string, a message box is displayed to the user to indicate why navigation was cancelled.

        Caution: If you cancel the user's navigation, it is strongly recommended that you supply a CancelMessage. If you do not, you should undertake some other means of communicating to the user why they are not being allowed to navigate away from the current dialog.

      • PreHDSubmit: This event fires immediately before the assembly request is sent to the server when the user clicks the Finish button.

        The EventArgs object when this event is called has the following properties:

        PropertyDescription
        Context A string indicating the context in which the event handler was called. It can be one of the following values:
        • InterviewComplete: The user clicked either the Finish button or the Next button at the last dialog.

      • OnHDProgress: This event fires every time a variable is answered (or cleared) or the interview content otherwise changes, such that information about the user's progress towards completion of the interview has changed. You might use this event if you have suppressed display of the built-in interview progress bar (using the HDInterviewOptions.ProgressBar option) and wish to track user progress through some alternate means.

        The EventArgs object when this event is called has the following properties:

        PropertyDescription
        AnsweredThe number of answered questions, not counting answers to optional questions
        TotalThe total number of questions in the interview (not counting optional questions)
        State A number indicating the state of the interview as a whole.
        • 0: Interview is complete. If the interview progress bar were visible and had the default styling applied, this would correspond to a green, fully complete progress bar.
        • 1: Interview is incomplete. If the interview progress bar were visible and had the default styling applied, this would correspond to a blue progress bar in an empty or partially-complete state.
        • 2: Interview is incomplete, and one or more of the unanswered questions are required before the user is allowed to progress further. If the interview progress bar were visible and had the default styling applied, this is one of two states that would display a red progress bar.
        • 3: The interview contains a dialog with an error message, which prevents the user from progressing. If the interview progress bar were visible and had the default styling applied, this is one of two states that would display a red progress bar.
        • 4: The interview is incomplete, there is one or more required unanswered question, and a dialog contains an error message. Because of this state, the user cannot progress further in the interview. If the interview progress bar were visible and had the default styling applied, this is one of two states that would display a red progress bar.

      • OnSessionComplete: This event fires when an assembly session is finished.

        The EventArgs object passed to your event handler has the following properties:

        PropertyDescription
        CancelIf you set this Boolean property to true, the session completion dialog will not be displayed.
        CancelMessageIf the dialog display was cancelled and this property is a non-empty string, a message box is displayed to the user with this string instead.

      • OnStateSaved: This event fires when the interview successfully saves its state to the Assembly Service

        There are no event args for this event

      • OnInterviewUnload: This event fires when the interview is unloaded by the browser. e.g. Page/tab closing, browser back button, clicking on a hyperlink, etc.

        There are no event args for this event

      Parameters

      • eventName: APIEvent

        A string representing the name of an interview event. You can specify any string, but only valid [[APIEvent]] strings are supported and will cause your event handler to be called.

      • handlerFunc: (eventArgs: any) => any

        A JavaScript function that will be called any time the event for which it is registered occurs. It should accept a single parameter, EventArgs, the contents of which vary depending on the event.

      Returns void

    • Save the interview answers. If you provide a callback function, it will be called when the save is complete. Note: the interview automatically saves answers as users navigate through the interview. You are never required to call this function. It is made available so that you can force an answer save if necessary.

      Parameters

      • Optionalcallback: () => void

      Returns void

    • Show or hide parts of the interview user interface.

      Parameters

      • element: InterviewElement

        The UI element to show or hide: Toolbar, AnswerSummary, DocumentPreview

      • isVisible: boolean

        Indicates whether the element should be shown or hidden.

      Returns void

    • Shows a modal message box.

      Parameters

      • message: string

        The string of text you wish to display on the message box.

      • Optionalcaption: string

        The string of text you wish to display in the message box's title bar.

      • Optionalicon: string

        The CSS class name of the icon to display in the title bar (by default, it is 'hd-alert').

      • OptionalallowPrint: boolean

        Displays a Print button on the message box for printing its contents. (Default is false)

      Returns any

    • Switch between Interview, Answer Summary, and Document Preview views of the interview.

      Parameters

      • viewName: InterviewPage

        The view to be displayed: Interview, AnswerSummary, DocumentPreview.

      Returns void

    • Unregisters an event handler for an interview event that was previously registered using the [[RegisterHandler]] method.

      Parameters

      • eventName: APIEvent

        A string representing the name of an interview event. You should specify the same string you used when registering the event handler.

      • handlerFunc: (eventArgs: any) => any

        The JavaScript function that was registered as an event handler, which you would like to unregister.

      Returns void