Allow boolean dropdowns for contract deploy (#3077)
* Allow boolean dropdowns for contract deploy * Be explicit in deployment types * Extra line as per PR comments
This commit is contained in:
parent
9b1f67b2dd
commit
f3d4aa43f3
@ -15,8 +15,9 @@
|
||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import React, { Component, PropTypes } from 'react';
|
||||
import { MenuItem } from 'material-ui';
|
||||
|
||||
import { AddressSelect, Form, Input, InputAddressSelect } from '../../../ui';
|
||||
import { AddressSelect, Form, Input, InputAddressSelect, Select } from '../../../ui';
|
||||
import { validateAbi } from '../../../util/validation';
|
||||
|
||||
import styles from '../deployContract.css';
|
||||
@ -98,6 +99,7 @@ export default class DetailsStep extends Component {
|
||||
|
||||
return inputs.map((input, index) => {
|
||||
const onChange = (event, value) => this.onParamChange(index, value);
|
||||
const onChangeBool = (event, _index, value) => this.onParamChange(index, value === 'true');
|
||||
const onSubmit = (value) => this.onParamChange(index, value);
|
||||
const label = `${input.name}: ${input.type}`;
|
||||
let inputBox = null;
|
||||
@ -115,6 +117,26 @@ export default class DetailsStep extends Component {
|
||||
);
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
const boolitems = ['false', 'true'].map((bool) => {
|
||||
return (
|
||||
<MenuItem
|
||||
key={ bool }
|
||||
value={ bool }
|
||||
label={ bool }>{ bool }</MenuItem>
|
||||
);
|
||||
});
|
||||
inputBox = (
|
||||
<Select
|
||||
label={ label }
|
||||
value={ params[index] ? 'true' : 'false' }
|
||||
error={ paramsError[index] }
|
||||
onChange={ onChangeBool }>
|
||||
{ boolitems }
|
||||
</Select>
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
inputBox = (
|
||||
<Input
|
||||
@ -164,12 +186,28 @@ export default class DetailsStep extends Component {
|
||||
|
||||
inputs.forEach((input) => {
|
||||
switch (input.type) {
|
||||
case 'address':
|
||||
params.push('0x');
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
params.push(false);
|
||||
break;
|
||||
|
||||
case 'bytes':
|
||||
params.push('0x');
|
||||
break;
|
||||
|
||||
case 'uint':
|
||||
params.push('0');
|
||||
break;
|
||||
|
||||
case 'string':
|
||||
params.push('');
|
||||
break;
|
||||
|
||||
default:
|
||||
params.push('0x');
|
||||
params.push('0');
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user