Demos
Data and callback events
<DataContext.Providerdata={testdata}onChange={(data) => console.log('onChange', data)}onPathChange={(path, value) => console.log('onPathChange', path, value)}onSubmit={(data) => console.log('onSubmit', data)}onSubmitRequest={() => console.log('onSubmitRequest')}><Layout.Section><Layout.Card><Layout.Column divider="line" spacing="small"><Field.Stringpath="/requiredString"label="Required string"required/><Field.String path="/hmm" label="Invalid path" /><Field.String path="/string" label="String value" /><Field.String path="/string" label="String value (copy)" /><Field.Number path="/number" label="Number value" /><Field.String path="/number" label="Number with Field.String" /><Field.Booleanpath="/boolean"label="Boolean - Checkbox"variant="checkbox"/><Field.Booleanpath="/boolean"label="Boolean - Toggle"variant="button"/><div><Field.String path="/nested/nestedText" label="Nested text" /><Field.Numberpath="/nested/nestedNumber"label="Nested number (minimum 50)"minimum={50}/></div><div className="hmm"><Layout.Row><Field.String path="/list/0/itemText" label="Item text" /><Field.Number path="/list/0/itemNumber" label="Item number" /></Layout.Row><Layout.Row><Field.String path="/list/1/itemText" label="Item text" /><Field.Number path="/list/1/itemNumber" label="Item number" /></Layout.Row></div><Layout.ButtonRow><DataContext.SubmitButton /></Layout.ButtonRow></Layout.Column></Layout.Card></Layout.Section></DataContext.Provider>
Validation with Json Schema
<DataContext.Providerdata={testdata}schema={TestdataSchema}onChange={(data) => console.log('onChange', data)}onPathChange={(path, value) => console.log('onPathChange', path, value)}onSubmit={(data) => console.log('onSubmit', data)}onSubmitRequest={() => console.log('onSubmitRequest')}><Layout.Section><Layout.Card><Layout.Column divider="line" spacing="small"><Field.String path="/requiredString" label="Required string" /><Field.String path="/hmm" label="Invalid path" /><Field.String path="/string" label="String value" /><Field.String path="/string" label="String value (copy)" /><Field.Number path="/number" label="Number value" /><Field.String path="/number" label="Number with Field.String" /><Field.Booleanpath="/boolean"label="Boolean - Checkbox"variant="checkbox"/><Field.Booleanpath="/boolean"label="Boolean - Toggle"variant="button"/><div><Field.String path="/nested/nestedText" label="Nested text" /><Field.Numberpath="/nested/nestedNumber"label="Nested number"/></div><div className="hmm"><Layout.Row><Field.String path="/list/0/itemText" label="Item text" /><Field.Number path="/list/0/itemNumber" label="Item number" /></Layout.Row><Layout.Row><Field.String path="/list/1/itemText" label="Item text" /><Field.Number path="/list/1/itemNumber" label="Item number" /></Layout.Row></div><Layout.ButtonRow><DataContext.SubmitButton /></Layout.ButtonRow></Layout.Column></Layout.Card></Layout.Section></DataContext.Provider>