diff --git a/lib/modules/scaffolding-react/templates/dapp.js.tpl b/lib/modules/scaffolding-react/templates/dapp.js.tpl
index 5a2554a9..90fae4d2 100644
--- a/lib/modules/scaffolding-react/templates/dapp.js.tpl
+++ b/lib/modules/scaffolding-react/templates/dapp.js.tpl
@@ -22,7 +22,8 @@ class {{capitalize name}}_{{@index}}_Form extends React.Component {
output: null,
{{/ifview}}
error: null,
- mined: null
+ mined: null,
+ loading: false
};
}
@@ -38,7 +39,7 @@ class {{capitalize name}}_{{@index}}_Form extends React.Component {
async handleClick(e){
e.preventDefault();
- this.setState({output: null, error: null, receipt: null});
+ this.setState({output: null, error: null, receipt: null, loading: true});
try {
{{#ifview stateMutability}}
@@ -50,13 +51,13 @@ class {{capitalize name}}_{{@index}}_Form extends React.Component {
{{#each outputs}}
{{emptyname name @index}}: result[{{@index}}]{{#unless @last}},{{/unless}}
{{/each}}
- }});
+ }, loading: false});
{{else}}
- this.setState({output: result});
+ this.setState({output: result, loading: false});
{{/iflengthgt}}
})
.catch((err) => {
- this.setState({error: err.message});
+ this.setState({error: err.message, loading: false});
});
{{else}}
{{../contractName}}.methods{{methodname ../functions name inputs}}({{#each inputs}}this.state.input.{{name}}{{#unless @last}}, {{/unless}}{{/each}})
@@ -65,16 +66,16 @@ class {{capitalize name}}_{{@index}}_Form extends React.Component {
})
.then((_receipt) => {
console.log(_receipt);
- this.setState({receipt: _receipt})
+ this.setState({receipt: _receipt, loading: false})
})
.catch((err) => {
console.log(err);
- this.setState({error: err.message});
+ this.setState({error: err.message, loading: false});
});
// TODO payable
{{/ifview}}
} catch(err) {
- this.setState({error: err.message});
+ this.setState({error: err.message, loading: false});
}
// TODO validate
@@ -109,7 +110,7 @@ class {{capitalize name}}_{{@index}}_Form extends React.Component {
: ''
}
{{#ifview stateMutability}}
-
+
{
this.state.output != null ?
@@ -127,7 +128,7 @@ class {{capitalize name}}_{{@index}}_Form extends React.Component {
: ''
}
{{else}}
-
+
{
this.state.receipt != null ?
{this.state.receipt.status == "0x1" ? 'Success' : 'Failure / Revert'} - Transaction Hash: {this.state.receipt.transactionHash}