Function useFormSubmissionAutoSaveState

  • Use this if you want to implement a controlled auto saving form. See OneBlinkFormControlled for a full example. If you do not need to control the submission or definition properties, you can use the OneBlinkAutoSaveForm component.

    Parameters

    • options: {
          autoSaveKey: string;
          form: Form;
          initialSubmission?: {
              [name: string]: unknown;
          };
          onCancel: (() => unknown);
          onSaveDraft?: ((newDraftSubmission) => unknown);
          onSubmit: ((newFormSubmission) => unknown);
          removeAutoSaveDataBeforeSaveDraft?: boolean;
          removeAutoSaveDataBeforeSubmit?: boolean;
          resumeAtElement?: FormElement;
      }
      • autoSaveKey: string
      • form: Form
      • Optional initialSubmission?: {
            [name: string]: unknown;
        }
        • [name: string]: unknown
      • onCancel: (() => unknown)
          • (): unknown
          • Returns unknown

      • Optional onSaveDraft?: ((newDraftSubmission) => unknown)
          • (newDraftSubmission): unknown
          • Parameters

            • newDraftSubmission: NewDraftSubmission

            Returns unknown

      • onSubmit: ((newFormSubmission) => unknown)
          • (newFormSubmission): unknown
          • Parameters

            • newFormSubmission: NewFormSubmission

            Returns unknown

      • Optional removeAutoSaveDataBeforeSaveDraft?: boolean
      • Optional removeAutoSaveDataBeforeSubmit?: boolean
      • Optional resumeAtElement?: FormElement

    Returns {
        continueAutoSaveSubmission: (() => void);
        definition: Form;
        executedLookups: ExecutedLookups;
        handleCancel: (() => void);
        handleNavigateAway: (() => void);
        handleSaveDraft: undefined | ((newDraftSubmission) => void);
        handleSubmit: ((submissionResult) => void);
        isAutoSaveSubmissionAvailable: boolean;
        isLoadingAutoSaveSubmission: boolean;
        lastElementUpdated: undefined | FormElement;
        setFormSubmission: Dispatch<SetStateAction<{
            definition: Form;
            executedLookups: ExecutedLookups;
            lastElementUpdated: undefined | FormElement;
            submission: {
                [name: string]: unknown;
            };
        }>>;
        startNewSubmission: (() => void);
        submission: {
            [name: string]: unknown;
        };
    }

    • continueAutoSaveSubmission: (() => void)
        • (): void
        • Returns void

    • definition: Form
    • executedLookups: ExecutedLookups
    • handleCancel: (() => void)
        • (): void
        • Returns void

    • handleNavigateAway: (() => void)
        • (): void
        • Returns void

    • handleSaveDraft: undefined | ((newDraftSubmission) => void)
    • handleSubmit: ((submissionResult) => void)
        • (submissionResult): void
        • Parameters

          • submissionResult: NewFormSubmission

          Returns void

    • isAutoSaveSubmissionAvailable: boolean
    • isLoadingAutoSaveSubmission: boolean
    • lastElementUpdated: undefined | FormElement
    • setFormSubmission: Dispatch<SetStateAction<{
          definition: Form;
          executedLookups: ExecutedLookups;
          lastElementUpdated: undefined | FormElement;
          submission: {
              [name: string]: unknown;
          };
      }>>
    • startNewSubmission: (() => void)
        • (): void
        • Returns void

    • submission: {
          [name: string]: unknown;
      }
      • [name: string]: unknown