@raona/components
Version:
React components used at Raona to work with SPFx
60 lines (59 loc) • 2.17 kB
TypeScript
import { Component, ReactElement } from 'react';
import { ValidationError } from 'yup';
import { IDropdownOption } from 'office-ui-fabric-react/lib/components/Dropdown/Dropdown.types';
import { Form } from '../../entities/Form';
import { TypedHash } from '@raona/sp/dist/entities/TypedHash';
export interface SteppedFormProps {
context: any;
forms: Form;
onSubmit(object: TypedHash<any>): Promise<void>;
onChange?(object: TypedHash<any>): void;
onChangeStep?(step: number): void;
header?: JSX.Element;
finalStep?: JSX.Element;
footerClassName?: string;
prevBtnClassName?: string;
nextBtnClassName?: string;
deleteBtnClassName?: string;
className?: string;
bodyClassName?: string;
formWrapperClassName?: string;
formInnerWrapperClassName?: string;
prevBtnText?: string;
nextBtnText?: string;
publishBtnText?: string;
initialValues?: TypedHash<any>;
leftSlot?: JSX.Element;
rightSlot?: JSX.Element;
hideNextButton?: boolean;
hidePrevButton?: boolean;
hidePublishButton?: boolean;
spinner?: JSX.Element;
formButtonsClassName?: string;
headerDiv?: JSX.Element;
closeDiv?: JSX.Element;
wizardStepErrorMsg?: string;
wizardStepErrorClassName?: string;
}
export interface SteppedFormState {
step: number;
values: TypedHash<any>;
isNextStepAvailable: boolean;
stepErrors: ValidationError[];
showErrors: boolean;
isPublishing: boolean;
isWizardStepError: boolean;
}
export declare class SteppedForm extends Component<SteppedFormProps, SteppedFormState> {
constructor(props: any, context: any);
componentDidMount(): void;
private changeStep;
componentDidUpdate(prevProps: Readonly<SteppedFormProps>, prevState: Readonly<SteppedFormState>): void;
private handleValidation;
setValues(key: string, object: any, options?: IDropdownOption[]): void;
headerStepChange(destStep: number, form: Form, isPublishStep?: boolean): Promise<void>;
private onChange;
private submitForm;
private deleteFile;
render(): ReactElement<SteppedFormProps>;
}