react-talend-forms v0.111.0
react-talend-forms
Introduction
This library is designed to be used on top of react-jsonschema-form, a React component for building Web forms from JSONSchema.
In addition of Mozilla lib, this wrapper uses react-bootstrap to not have to maintain Bootstrap markup.
Installation
Run npm install --save react-talend-forms.
Usage
The forms can be used like any other React components. You'll have to pass it a JSONSchema and a onSubmit callback as a minimum to handle forms rendering and get the data back.
import Form from 'react-talend-forms';
class MyForm extends React.Component {
onSubmit(formData) {
console.log(formData);
}
onCancel() {
console.log('Cancelled');
}
render() {
const actions = [
{ style: 'link', onClick: this.onCancel, type: 'button', label: 'CANCEL' },
{ style: 'primary', type: 'submit', label: 'VALIDATE' },
];
return (
<Form data={this.props.data} actions={actions} onSubmit={this.onSubmit} />
);
}
}Here is the archetype of the data property required to render the form:
{
"jsonSchema": {},
"uiSchema": {},
"properties": {}
}Actions
Forms now render a react-talend-components Action component for each action given to it.
Each action accept the following properties :
| property | propType | required | default | doc |
|---|---|---|---|---|
| iconPosition | other | no | - | |
| icon | string | no | - | |
| hideLabel | bool | no | - | |
| disabled | bool | no | {false} | |
| style | string | no | "default" | equivalent to action bsStyle props |
| iconTransform | string | no | - | |
| id | string | no | - | |
| inProgress | bool | no | {false} | |
| label | string | yes | - | |
| link | bool | no | - | |
| model | object | no | - | |
| name | string | no | - | render a name button html property |
| onClick | func | yes | - | execute the callback with formData, formId, propertyName, propertyValue as parameters |
| tooltip | bool | no | - | |
| tooltipPlacement | other | no | "top" | |
| type | 'submit'|'button' | no | - | by default render a button without submit type |
Handlers
If uiSchema has some triggers like
{
"jsonSchema": {
"id": "ListExample",
"type": "object",
"properties": {
"propertyName": {
"type": "string",
"enum": [
"option 0",
"option 1",
"option 2"
]
}
}
},
"uiSchema": {
"propertyName": {
"ui:trigger": [ "after" ]
}
},
"properties": {}
}Then onChange will be triggered when propertyName field value has changed.
import Form from 'react-talend-forms';
class MyForm extends React.Component {
onChange(formData, formId, propertyName, propertyValue) {
console.log(formData, formId, propertyName, propertyValue);
}
onSubmit(formData) {
console.log(formData);
}
render() {
return (
<Form
data={this.props.data}
onChange={this.onChange}
onSubmit={this.onSubmit}
/>
);
}
}PropTypes
The data and actions PropTypes are exported for easy reuse. You can use them by importing the DataPropTypes and ActionsPropTypes functions.
import Form, { DataPropTypes, ActionsPropTypes } from 'react-talend-forms'LICENSE
Copyright (c) 2006-2016 Talend
Licensed under the Apache V2 License
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago