2
2
[ ![ CircleCI] ( https://circleci.com/gh/data-driven-forms/react-forms/tree/master.svg?style=svg )] ( https://circleci.com/gh/data-driven-forms/react-forms/tree/master )
3
3
[ ![ npm version] ( https://badge.fury.io/js/%40data-driven-forms%2Freact-form-renderer.svg )] ( https://badge.fury.io/js/%40data-driven-forms%2Freact-form-renderer )
4
4
5
- [ ![ Data Driven Form logo] ( images/logo.png )] ( https://data-driven-forms.org/ )
5
+ [ ![ Data Driven Form logo] ( https://raw.githubusercontent.com/data-driven-forms/react-forms/master/ images/logo.png)] ( https://data-driven-forms.org/ )
6
6
7
7
Data Driven Forms is a React library used for rendering and managing forms with a lot of provided features based on [ React Final Form] ( https://github.com/final-form/react-final-form ) .
8
8
@@ -33,10 +33,13 @@ Data Driven Forms is a React library used for rendering and managing forms with
33
33
34
34
- [ Installation] ( #installation )
35
35
- [ React Form Renderer] ( #react-form-renderer )
36
+ - [ Material-UI Mapper] ( #material-ui-mapper )
36
37
- [ PatternFly 3 Mapper] ( #patternfly-3-mapper )
37
38
- [ PatternFly 4 Mapper] ( #patternfly-4-mapper )
38
- - [ Material-UI Mapper] ( #material-ui-mapper )
39
+ - [ BlueprintJS Mapper] ( #blueprintjs-mapper )
40
+ - [ Semantic UI Mapper] ( #semantic-ui-mapper )
39
41
- [ Usage] ( #usage )
42
+ - [ Custom mapper] ( #custom-mapper )
40
43
- [ Basic provided components] ( #basic-provided-components )
41
44
- [ Documentation] ( #documentation )
42
45
- [ Useful links] ( #useful-links )
@@ -64,7 +67,7 @@ $ yarn add @data-driven-forms/react-form-renderer
64
67
Optionally you can install one of provided mappers:
65
68
66
69
67
- #### [ Material-UI Mapper] ( https://www.npmjs.com/package/@ data-driven-forms/mui-component-mapper )
70
+ #### [ Material-UI Mapper] ( https://data-driven-forms.org/mappers /mui-component-mapper )
68
71
69
72
``` console
70
73
$ npm install @data-driven-forms/mui-component-mapper -S
@@ -74,7 +77,7 @@ $ npm install @data-driven-forms/mui-component-mapper -S
74
77
$ yarn add @data-driven-forms/mui-component-mapper
75
78
```
76
79
77
- #### [ PatternFly 3 Mapper] ( https://www.npmjs.com/package/@ data-driven-forms/pf3-component-mapper )
80
+ #### [ PatternFly 3 Mapper] ( https://data-driven-forms.org/mappers /pf3-component-mapper )
78
81
79
82
``` console
80
83
$ npm install @data-driven-forms/pf3-component-mapper -S
@@ -84,7 +87,7 @@ $ npm install @data-driven-forms/pf3-component-mapper -S
84
87
$ yarn add @data-driven-forms/pf3-component-mapper
85
88
```
86
89
87
- #### [ PatternFly 4 Mapper] ( https://www.npmjs.com/package/@ data-driven-forms/pf4-component-mapper )
90
+ #### [ PatternFly 4 Mapper] ( https://data-driven-forms.org/mappers /pf4-component-mapper )
88
91
89
92
``` console
90
93
$ npm install @data-driven-forms/pf4-component-mapper -S
@@ -94,11 +97,31 @@ $ npm install @data-driven-forms/pf4-component-mapper -S
94
97
$ yarn add @data-driven-forms/pf4-component-mapper
95
98
```
96
99
100
+ #### [ BlueprintJS Mapper] ( https://data-driven-forms.org/mappers/blueprint-component-mapper )
101
+
102
+ ``` console
103
+ $ npm install @data-driven-forms/blueprint-component-mapper -S
104
+ ```
105
+
106
+ ``` console
107
+ $ yarn add @data-driven-forms/blueprint-component-mapper
108
+ ```
109
+
110
+ #### [ Semantic UI Mapper] ( https://data-driven-forms.org/mappers/suir-component-mapper )
111
+
112
+ ``` console
113
+ $ npm install @data-driven-forms/suir-component-mapper -S
114
+ ```
115
+
116
+ ``` console
117
+ $ yarn add @data-driven-forms/suir-component-mapper
118
+ ```
119
+
97
120
Component libraries in mappers are external dependencies. Make sure to install them in your bundles.
98
121
99
122
### Usage
100
123
101
- In order to Data Driven Forms in your component you need the renderer and a component mapper, which provides component mapper and form template
124
+ In order to Data Driven Forms in your component you need the renderer and a component mapper, which provides component mapper and form template.
102
125
103
126
``` jsx
104
127
import React from ' react' ;
@@ -123,6 +146,44 @@ const Form = () => (
123
146
)
124
147
```
125
148
149
+ #### Custom mapper
150
+
151
+ You can also use custom mapper.
152
+
153
+ ``` jsx
154
+ import React from ' react' ;
155
+ import FormRenderer , { componentTypes , useFieldApi } from ' @data-driven-forms/react-form-renderer' ;
156
+
157
+ const TextField = props => {
158
+ const {label , input , meta , ... rest } = useFieldApi (props)
159
+ return (
160
+ < div>
161
+ < label htmlForm= {input .name }> {label}< / label>
162
+ < input {... input} {... rest} id= {input .name }/ >
163
+ {meta .error && < p> {meta .error }< / p> }
164
+ < / div>
165
+ )
166
+ }
167
+
168
+ const componentMapper = {
169
+ [componentTypes .TEXT_FIELD ]: TextField,
170
+ ' custom-type' : TextField
171
+ }
172
+
173
+ const schema = {
174
+ fields: [{
175
+ component: componentTypes .TEXT_FIELD ,
176
+ name: ' name' ,
177
+ label: ' Your name'
178
+ type: ' search' ,
179
+ }]
180
+ }
181
+ ```
182
+
183
+ For more information, please check [ this page] ( https://data-driven-forms.org/renderer/component-mapping ) .
184
+
185
+ Mappers can be also generated by using ` yarn generate-template ` [ command] ( https://data-driven-forms.org/renderer/development-setup#generatingamappertemplate ) .
186
+
126
187
### Basic provided components
127
188
128
189
Data Driven Forms supports all kinds of component, basic set is consisted of:
@@ -131,11 +192,14 @@ Data Driven Forms supports all kinds of component, basic set is consisted of:
131
192
- Text area
132
193
- Checkbox (Multiple checkboxes)
133
194
- Select (dropdown)
195
+ - Dual list select
196
+ - Field array
134
197
- Switch
135
198
- Radio buttons
136
199
- Date picker
137
200
- Time picker
138
201
- Tabs
202
+ - Slider
139
203
- Sub-form
140
204
- Wizard
141
205
0 commit comments