import EmbarkJS from 'Embark/EmbarkJS'; import {{contractName}} from 'Embark/contracts/{{contractName}}'; import React from 'react'; import ReactDOM from 'react-dom'; import { FormGroup, ControlLabel, FormControl, Checkbox, Button, Alert } from 'react-bootstrap'; {{#each functions}} class {{capitalize name}}_{{@index}}_Form extends React.Component { constructor(props){ super(props); this.state = { {{#if inputs.length}} input: { {{#each inputs}} {{name}}: {{#ifeq type 'bool'}}false{{else}}''{{/ifeq}}{{#unless @last}},{{/unless}} {{/each}} }, {{/if}} {{#ifview stateMutability}} output: null, {{/ifview}} error: null }; } handleChange(e, name){ this.state.input[name] = e.target.value; this.setState(this.state); } handleCheckbox(e, name){ this.state.input[name] = e.target.checked; this.setState(this.state); } async handleClick(e){ e.preventDefault(); this.setState({output: null, error: null}); {{#ifview stateMutability}} try { {{../contractName}}.methods{{methodname ../functions name inputs}}({{#each inputs}}this.state.input.{{name}}{{#unless @last}}, {{/unless}}{{/each}}) .call() .then((result) => { {{#iflengthgt outputs 1}} this.setState({output: { {{#each outputs}} {{emptyname name @index}}: result[{{@index}}]{{#unless @last}},{{/unless}} {{/each}} }}); {{else}} this.setState({output: result}); {{/iflengthgt}} }) .catch((err) => { this.setState({error: err.message}); }); } catch(err) { this.setState({error: err.message}); } // TODO show on screen {{/ifview}} // TODO validate } render(){ return