var FG = window.FormGenerator
, t = window.FormGenerator.tools
, GeneratedForm = FG({});
var App = React.createClass({
getInitialState: function () {
var value = t.evalDefaults( meta );
return {
value: value
};
},
handleFormChanged: function ( newValue, change, fldErrors ) {
this.setState({
value: newValue
});
},
render: function() {
return (<GeneratedForm meta={meta}
value={this.state.value}
onChange={this.handleFormChanged}
onEvent={this.handleFormEvent}/>);
}
});
React.render( <App />, document.body );
<script src="http://facebook.github.io/react/js/jsfiddle-integration.js"></script>
<script src="http://azaviruha.github.io/repo/js/react-form-generator.global.min.js"></script>
<script>
window.meta = {
"fields": {
"field1": {
"renderer": "text",
"defaultValue": "test read-only value",
"isReadOnly": true
},
"field2": {
"renderer": "text"
}
},
"layout": {
"grid": {
"css": "container demo-form",
"rows": [{
"css": "row",
"cells": [{
"css": "col-xs-12 col-sm-12 col-md-10",
"content": [{
"renderer": "default",
"rendererSpecific": {
"fieldID": "field1",
"label": "Field #1:",
"css": {
"wrapper": "row",
"inner": "",
"label": "col-xs-2 col-sm-2 col-md-2",
"field": "col-xs-10 col-sm-10 col-md-10"
}
}
}]
}]
}, {
"css": "row",
"cells": [{
"css": "col-xs-12 col-sm-12 col-md-10",
"content": [{
"renderer": "default",
"rendererSpecific": {
"fieldID": "field2",
"label": "Field #2:",
"css": {
"wrapper": "row",
"inner": "",
"label": "col-xs-2 col-sm-2 col-md-2",
"field": "col-xs-10 col-sm-10 col-md-10"
}
}
}]
}]
}]
}
}
}
</script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
External resources loaded into this fiddle: