import React from 'react';
import MaterialJsonSchemaForm from 'react-jsonschema-form-material-ui';
const schema = require('./path-to your-schema.json');
const uiSchema = require('./path-to your-ui-schema.json');
const formData = require('./path-to your-ui-formData.json');
const onSubmit = (value, callback) => {
console.log('onSubmit: %s', JSON.stringify(value)); // eslint-disable-line no-console
setTimeout(() => callback && callback(), 2000); // just an example in real world can be your XHR call
console.log('on reset being called');
const onFormChanged = ({ formData }) => {
console.log('onFormChanged: ',formData); // eslint-disable-line no-console
const onUpload = (value) => {
console.log('onUpload: ', value); // eslint-disable-line no-console
/* Optional Param for custom functions to be executed for transforming data */
translateRatings: (givenData, uiData) => ({ givenData, uiData }),
/* Optional Param for custom components */
customComponent: ({ onChange, ...rest }) => (
<CustomComponent onChange={onChange} formData={givenFormData} uiData={givenUIData} {...rest} />
customRating: ({ onChange, ...rest }) => (
<CustomRating onChange={onChange} formData={givenFormData} uiData={givenUIData} {...rest} />
/* Optional Param for custom validation */
confirmPassword: ({ schema, validations, formData, value }) => value !== formData.pass1 && ({
message: validations.confirmPassword.message,
/* Optional Param to auto submit form on press of enter */