import React from "react"; import AppAssetService from "../services/AppAssetService"; import { IAsset, IMyAssetComponentState,IGlobalProp} from "../services/AppModels"; import { Card, ListGroup, Media, Row, Col,Button,Modal, Form } from "react-bootstrap"; export default class MyAssets extends React.Component { appService: AppAssetService; constructor(props: IGlobalProp) { super(props); this.appService = this.props.appServiceObj; this.state = { showModal:false, assetToSale:0, assetPrice: "" //accountid:props.ethAccount }; this.onSubmitClick = this.onSubmitClick.bind(this); this.onModalToggle = this.onModalToggle.bind(this); this.formDataChanged = this.formDataChanged.bind(this); this.sellButtonClicked=this.sellButtonClicked.bind(this); } onSubmitClick(){ if(this.state.assetPrice==="" || isNaN(Number(this.state.assetPrice))){ alert("Please enter sale price"); } else { let newSalePrice=this.state.assetPrice; let newAssetOnMarket=this.state.assetToSale; this.appService.listAssetForSale(this.props.ethUser.EthereumID,newSalePrice, newAssetOnMarket).then(result => { this.setState({assetPrice:"",assetToSale:0}); alert(result); this.onModalToggle(); this.props.updateAssets(); this.props.updateBalance(this.props.ethUser.EthereumID); }); } } onModalToggle() { let returnVal={}; this.setState((prevState, props) => { if(prevState.showModal==true && prevState.assetToSale>0){ returnVal={ showModal: !prevState.showModal, assetToSale:0 }; } else{ returnVal={ showModal: !prevState.showModal }; } return returnVal; }); } formDataChanged( event: React.ChangeEvent ) { switch (event.target.id) { case "assetprice": this.setState({assetPrice:event.target.value}); break; } } sellButtonClicked(assetid:number,e:any) { this.setState({assetToSale:assetid}); this.onModalToggle(); } public render() { const renderSaleButton=(assetItem:IAsset)=>{ if(assetItem.IsAssetOnSale===false){ return } else{ return <> } } return ( <> My Assets {this.props.registeredAssets.map((item, index) => { return ( Generic placeholder
{item.AssetTitle}

{item.AssetDescription}

{renderSaleButton(item)}
); })}
Sell Asset
Asset Price Enter sale price of asset in Ether
); } }