UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

91 lines (90 loc) 3.64 kB
import * as React from 'react'; import { UiSchema, AjvError, ErrorListProps } from '@rjsf/core'; import { Step, NavActionEnum, StatusEnum, FormSchema } from './types'; export interface IFormData { [key: string]: { included?: boolean; [key: string]: any; }; } export declare type SynapseFormProps = { schema: FormSchema; uiSchema: UiSchema; navSchema: { steps: any[]; }; formData: IFormData; onSubmit: Function; onSave: Function; formTitle: string; formClass?: string; isWizardMode?: boolean; callbackStatus?: StatusEnum; isSubmitted?: boolean; }; declare type SynapseFormState = { formData: IFormData; currentStep: Step; nextStep?: Step; steps: Step[]; previousStepIds: string[]; hasValidated?: boolean; doShowErrors: boolean; doShowHelp: boolean; modalContext?: { action: Function; arguments: any[]; }; hasUnsavedChanges: boolean; isSubmitted?: boolean; isLoadingSaved: boolean; }; export interface SummaryFormat { label: string; value: string; } export default class SynapseForm extends React.Component<SynapseFormProps, SynapseFormState> { excludeWarningText: JSX.Element; excludeWarningHeader: string; unsavedDataWarning: string; formRef: any; formDivRef: any; navAction: NavActionEnum; uiSchema: {}; nextStep: Step | undefined; extraErrors: AjvError[]; isNewForm: (formData: IFormData) => boolean; getFirstStep: (steps: Step[], formData: IFormData) => Step; constructor(props: SynapseFormProps); onUnload: (ev: any) => string | undefined; setupBeforeUnloadListener: () => void; componentWillUnmount(): void; componentDidUpdate(prevProps: SynapseFormProps): void; _setIncludedPropInFormDataNonWizard: (currentState: SynapseFormState, schemaScreens: any) => IFormData; _setIncludedPropInFormDataWizard: (currentState: SynapseFormState) => IFormData; componentDidMount(): void; getSchema: ({ id, final }: Step) => FormSchema; getNextStepId: (currentStep: Step, formData: any, nextStepId?: string | undefined) => Promise<string>; moveStep: (formData: any, nextStepId: string | undefined, isError: boolean, previousStack?: string[]) => Promise<void>; saveStepState: (previousStepIds: string[], steps: Step[], currentStep: Step, formData: any) => void; goPrevious: (formData: any, isError: boolean) => Promise<void>; triggerAction: (navAction: NavActionEnum) => Promise<any>; triggerStepChange: (step: Step) => void; onError: (args: any) => void; setStepStatusForFailedValidation: (errors: AjvError[], steps: Step[], isWizard: boolean, formData: IFormData, currentSchemaProperties: any) => Step[]; handleOnChange({ formData }: any): void; performAction(navAction: NavActionEnum, hasError: boolean): Promise<void> | undefined; onSubmit: () => any; isSubmitScreen: () => boolean; showExcludeStateWarningModal: (stepId: string, isUpdateFlattenedData?: boolean) => void; toggleExcludeStep: (stepId: string, isExclude: boolean) => void; private renderNotification; private renderTextForStaticScreen; renderOptionalFormSubheader: (isWizard?: boolean) => JSX.Element; renderHelpToggle: (currentStep: Step, showHelp: boolean, callbackFn: Function) => JSX.Element; runCustomValidation: (formData: IFormData, currentStep: Step, allSteps: Step[]) => Promise<AjvError[]>; transformErrors: (errors: AjvError[]) => AjvError[]; renderErrorListTemplate: (props: ErrorListProps) => JSX.Element; render(): JSX.Element; } export {};