Merge branch 'master' into ng-array-parameters
This commit is contained in:
@@ -235,7 +235,7 @@ class TypedInput extends Component {
|
||||
export default class DetailsStep extends Component {
|
||||
static contextTypes = {
|
||||
api: PropTypes.object.isRequired
|
||||
}
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
accounts: PropTypes.object.isRequired,
|
||||
@@ -256,16 +256,33 @@ export default class DetailsStep extends Component {
|
||||
onFromAddressChange: PropTypes.func.isRequired,
|
||||
onDescriptionChange: PropTypes.func.isRequired,
|
||||
onNameChange: PropTypes.func.isRequired,
|
||||
onParamsChange: PropTypes.func.isRequired
|
||||
}
|
||||
onParamsChange: PropTypes.func.isRequired,
|
||||
readOnly: PropTypes.bool
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
readOnly: false
|
||||
};
|
||||
|
||||
state = {
|
||||
inputs: []
|
||||
}
|
||||
|
||||
componentDidMount () {
|
||||
const { abi, code } = this.props;
|
||||
|
||||
if (abi) {
|
||||
this.onAbiChange(abi);
|
||||
}
|
||||
|
||||
if (code) {
|
||||
this.onCodeChange(code);
|
||||
}
|
||||
}
|
||||
|
||||
render () {
|
||||
const { accounts } = this.props;
|
||||
const { abi, abiError, code, codeError, fromAddress, fromAddressError, name, nameError } = this.props;
|
||||
const { abi, abiError, code, codeError, fromAddress, fromAddressError, name, nameError, readOnly } = this.props;
|
||||
|
||||
return (
|
||||
<Form>
|
||||
@@ -287,13 +304,15 @@ export default class DetailsStep extends Component {
|
||||
hint='the abi of the contract to deploy'
|
||||
error={ abiError }
|
||||
value={ abi }
|
||||
onSubmit={ this.onAbiChange } />
|
||||
onSubmit={ this.onAbiChange }
|
||||
readOnly={ readOnly } />
|
||||
<Input
|
||||
label='code'
|
||||
hint='the compiled code of the contract to deploy'
|
||||
error={ codeError }
|
||||
value={ code }
|
||||
onSubmit={ this.onCodeChange } />
|
||||
onSubmit={ this.onCodeChange }
|
||||
readOnly={ readOnly } />
|
||||
{ this.renderConstructorInputs() }
|
||||
</Form>
|
||||
);
|
||||
|
||||
@@ -36,8 +36,17 @@ export default class DeployContract extends Component {
|
||||
|
||||
static propTypes = {
|
||||
accounts: PropTypes.object.isRequired,
|
||||
onClose: PropTypes.func.isRequired
|
||||
}
|
||||
onClose: PropTypes.func.isRequired,
|
||||
abi: PropTypes.string,
|
||||
code: PropTypes.string,
|
||||
readOnly: PropTypes.bool,
|
||||
source: PropTypes.string
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
readOnly: false,
|
||||
source: ''
|
||||
};
|
||||
|
||||
state = {
|
||||
abi: '',
|
||||
@@ -57,6 +66,31 @@ export default class DeployContract extends Component {
|
||||
deployError: null
|
||||
}
|
||||
|
||||
componentWillMount () {
|
||||
const { abi, code } = this.props;
|
||||
|
||||
if (abi && code) {
|
||||
this.setState({ abi, code });
|
||||
}
|
||||
}
|
||||
|
||||
componentWillReceiveProps (nextProps) {
|
||||
const { abi, code } = nextProps;
|
||||
const newState = {};
|
||||
|
||||
if (abi !== this.props.abi) {
|
||||
newState.abi = abi;
|
||||
}
|
||||
|
||||
if (code !== this.props.code) {
|
||||
newState.code = code;
|
||||
}
|
||||
|
||||
if (Object.keys(newState).length) {
|
||||
this.setState(newState);
|
||||
}
|
||||
}
|
||||
|
||||
render () {
|
||||
const { step, deployError } = this.state;
|
||||
|
||||
@@ -116,7 +150,7 @@ export default class DeployContract extends Component {
|
||||
}
|
||||
|
||||
renderStep () {
|
||||
const { accounts } = this.props;
|
||||
const { accounts, readOnly } = this.props;
|
||||
const { address, deployError, step, deployState, txhash } = this.state;
|
||||
|
||||
if (deployError) {
|
||||
@@ -130,6 +164,7 @@ export default class DeployContract extends Component {
|
||||
return (
|
||||
<DetailsStep
|
||||
{ ...this.state }
|
||||
readOnly={ readOnly }
|
||||
accounts={ accounts }
|
||||
onAbiChange={ this.onAbiChange }
|
||||
onCodeChange={ this.onCodeChange }
|
||||
@@ -201,6 +236,7 @@ export default class DeployContract extends Component {
|
||||
|
||||
onDeployStart = () => {
|
||||
const { api, store } = this.context;
|
||||
const { source } = this.props;
|
||||
const { abiParsed, code, description, name, params, fromAddress } = this.state;
|
||||
const options = {
|
||||
data: code,
|
||||
@@ -220,6 +256,7 @@ export default class DeployContract extends Component {
|
||||
contract: true,
|
||||
timestamp: Date.now(),
|
||||
deleted: false,
|
||||
source,
|
||||
description
|
||||
})
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user