feat: auto-close panel when a token is selected

This commit is contained in:
fragosti
2018-11-01 13:16:48 -07:00
parent b55ba3a318
commit bda9d4c1b0
2 changed files with 11 additions and 3 deletions

View File

@@ -46,7 +46,7 @@ export class ZeroExInstantContainer extends React.Component<ZeroExInstantContain
animationState={this.state.tokenSelectionPanelAnimationState}
onClose={this._handlePanelClose}
>
<AvailableERC20TokenSelector />
<AvailableERC20TokenSelector onTokenSelect={this._handlePanelClose} />
</SlidingPanel>
</Container>
</Container>

View File

@@ -1,3 +1,4 @@
import * as _ from 'lodash';
import * as React from 'react';
import { connect } from 'react-redux';
import { Dispatch } from 'redux';
@@ -9,7 +10,9 @@ import { assetUtils } from '../util/asset';
import { ERC20TokenSelector } from '../components/erc20_token_selector';
import { Action, actions } from '../redux/actions';
export interface AvailableERC20TokenSelectorProps {}
export interface AvailableERC20TokenSelectorProps {
onTokenSelect?: (token: ERC20Asset) => void;
}
interface ConnectedState {
tokens: ERC20Asset[];
@@ -27,7 +30,12 @@ const mapDispatchToProps = (
dispatch: Dispatch<Action>,
ownProps: AvailableERC20TokenSelectorProps,
): ConnectedDispatch => ({
onTokenSelect: (token: ERC20Asset) => dispatch(actions.updateSelectedAsset(token)),
onTokenSelect: (token: ERC20Asset) => {
if (ownProps.onTokenSelect) {
ownProps.onTokenSelect(token);
}
dispatch(actions.updateSelectedAsset(token));
},
});
export const AvailableERC20TokenSelector: React.ComponentClass<AvailableERC20TokenSelectorProps> = connect(