diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-11-21 23:43:36 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-11-21 23:43:36 +0800 |
commit | fc123871ad9b1e791b8156d069c503e8d869139c (patch) | |
tree | f31546c91d6936432f18d2a2c224549c7f65c9c9 /packages/instant/src/containers | |
parent | b62fbd0b13dbef67d8df1177b1ca6b4d082faaa9 (diff) | |
parent | f27fef0295243eeb85498ee09810a2f56afd88bd (diff) | |
download | dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.tar dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.tar.gz dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.tar.bz2 dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.tar.lz dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.tar.xz dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.tar.zst dexon-sol-tools-fc123871ad9b1e791b8156d069c503e8d869139c.zip |
Merge branch 'development' of https://github.com/0xProject/0x-monorepo into feature/instant/push-to-history
Diffstat (limited to 'packages/instant/src/containers')
-rw-r--r-- | packages/instant/src/containers/selected_erc20_asset_amount_input.ts | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/packages/instant/src/containers/selected_erc20_asset_amount_input.ts b/packages/instant/src/containers/selected_erc20_asset_amount_input.ts index 2c2661e1a..a39bc46a2 100644 --- a/packages/instant/src/containers/selected_erc20_asset_amount_input.ts +++ b/packages/instant/src/containers/selected_erc20_asset_amount_input.ts @@ -23,9 +23,10 @@ interface ConnectedState { assetBuyer: AssetBuyer; value?: BigNumber; asset?: ERC20Asset; - isDisabled: boolean; + isInputDisabled: boolean; numberOfAssetsAvailable?: number; affiliateInfo?: AffiliateInfo; + canSelectOtherAsset: boolean; } interface ConnectedDispatch { @@ -43,21 +44,27 @@ type FinalProps = ConnectedProps & SelectedERC20AssetAmountInputProps; const mapStateToProps = (state: State, _ownProps: SelectedERC20AssetAmountInputProps): ConnectedState => { const processState = state.buyOrderState.processState; - const isEnabled = processState === OrderProcessState.None || processState === OrderProcessState.Failure; - const isDisabled = !isEnabled; + const isInputEnabled = processState === OrderProcessState.None || processState === OrderProcessState.Failure; + const isInputDisabled = !isInputEnabled; const selectedAsset = !_.isUndefined(state.selectedAsset) && state.selectedAsset.metaData.assetProxyId === AssetProxyId.ERC20 ? (state.selectedAsset as ERC20Asset) : undefined; const numberOfAssetsAvailable = _.isUndefined(state.availableAssets) ? undefined : state.availableAssets.length; + const canSelectOtherAsset = + numberOfAssetsAvailable && numberOfAssetsAvailable > 1 + ? isInputEnabled || processState === OrderProcessState.Success + : false; + const assetBuyer = state.providerState.assetBuyer; return { assetBuyer, value: state.selectedAssetUnitAmount, asset: selectedAsset, - isDisabled, + isInputDisabled, numberOfAssetsAvailable, affiliateInfo: state.affiliateInfo, + canSelectOtherAsset, }; }; @@ -102,8 +109,9 @@ const mergeProps = ( onChange: (value, asset) => { connectedDispatch.updateBuyQuote(connectedState.assetBuyer, value, asset, connectedState.affiliateInfo); }, - isDisabled: connectedState.isDisabled, + isInputDisabled: connectedState.isInputDisabled, numberOfAssetsAvailable: connectedState.numberOfAssetsAvailable, + canSelectOtherAsset: connectedState.canSelectOtherAsset, }; }; |