/react-jsonschema-form-extensions

Simple Layout Field to offer a variety possibilities to react-jsonschema-forms

Primary LanguageJavaScript

react-jsonschema-form-extensions

Travis npm package Coveralls

Just a small custom field for the awesome react-jsonschema-form.

This is a fork of audibene-labs/react-jsonschema-form-layout, for support bootstrap grid system completely.

see DEMO

Key features:

  • support bootstrap's grid
  • add non-form elements in between

2017-03-02 14 09 19

Installation

npm install react-jsonschema-form-extensions

Usage:

Make sure you checkout the demo-src

const schema = {
  title: 'Todo',
  type: 'object',
  required: ['title'],
  properties: {
    'password': {
      'type': 'string',
      'title': 'Password'
    },
    'lastName': {
      'type': 'string',
      'title': 'Last name'
    },
    'bio': {
      'type': 'string',
      'title': 'Bio'
    },
    'firstName': {
      'type': 'string',
      'title': 'First name'
    },
    'age': {
      'type': 'integer',
      'title': 'Age'
    }
  }
}

const fields = {
  layout_grid: LayoutGridField
}

const uiSchema = {
  'ui:field': 'layout_grid',
  'ui:layout_grid': { 'ui:row': [
    { 'ui:col': { md: 12, children: [
      { 'ui:group': 'Name', 'ui:row': [
        { 'ui:col': { md: 6, children: ['firstName'] } },
        { 'ui:col': { md: 6, children: ['lastName'] } },
      ] },
      { 'ui:row': [
        { 'ui:col': { md: 6, children: ['password'] } },
        { 'ui:col': { md: 6, children: ['age'] } },
      ] },
      { 'ui:row': [
        { 'ui:col': { md: 12, children: ['bio'] } },
      ] },
    ] } },
  ] },
}