diff options
author | August Skare <post@augustskare.no> | 2018-11-21 15:19:29 +0800 |
---|---|---|
committer | August Skare <post@augustskare.no> | 2018-11-21 15:19:29 +0800 |
commit | 592e1a3e6ff974d357aff02f1c170d6624895b7e (patch) | |
tree | 8b8c519206b8921356b4491ca3fa6bf9d82d222d /packages/instant/src/containers | |
parent | 99176c2d5482b6eb2d2e223ac6cbdae5fc3e42ce (diff) | |
parent | 15f05733be45e05974972c80c4fa8437a62633e2 (diff) | |
download | dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.tar dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.tar.gz dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.tar.bz2 dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.tar.lz dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.tar.xz dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.tar.zst dexon-sol-tools-592e1a3e6ff974d357aff02f1c170d6624895b7e.zip |
Merge branch 'development' into dev-tools-pages
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, }; }; |